Egyedi oldalépítő-widgetek regisztrálása a fordításhoz
Egyedi Elementor-, Beaver Builder-, SiteOrigin- és Cornerstone-widgetek regisztrálása wpml-config.xml fájlban, ismétlő mezőkkel és azonosítókkal.
Az egyedi oldalépítő-widgetek fordításra regisztrálásához a wpml-config.xml fájlt kell használnod. Ez az útmutató témát vagy bővítményt készítő, illetve saját oldalépítő-kódot használó fejlesztőknek szól. Ha harmadik féltől származó oldalépítő egyedi widgetjeit nem tudod lefordítani, fordulj a WPML támogatásához.
Az olyan oldalépítők, mint az Elementor, a Beaver Builder, a SiteOrigin és a Cornerstone saját widgetekkel jönnek, és ezek a WPML-lel külön teendő nélkül működnek. Egyedi widget minden olyan további widget, amely nem része az oldalépítőnek: a fejlesztőcsapatod, harmadik fél készítette, vagy más bővítményből, témából jön, illetve olyan kiegészítő bővítményből, amelyet külön egy oldalépítőhöz (például az Elementorhoz) készítettek.
Mikor kell regisztrálni?
Szekció neve “Mikor kell regisztrálni?”Az egyedi widgetet regisztrálni kell a fordításhoz:
- ha az oldalépítő eredetileg nem tartalmazza;
- ha másik bővítményen vagy témán keresztül hoztad létre és adtad hozzá;
- ha a webhelyeidhez vagy egy oldalépítőhöz a csapatod vagy harmadik fél fejlesztette.
Korábban a leggyakoribb mód az egyedi PHP-kód volt. Ma a widgetet a wpml-config.xml fájllal regisztrálhatod.
Egyedi Elementor-widgetek a WPML 4.9-től
Szekció neve “Egyedi Elementor-widgetek a WPML 4.9-től”A WPML 4.9-től kezdve a WPML automatikusan felismeri az egyedi Elementor-widgeteket, és fordíthatóvá teszi őket. Előfordulhat azonban, hogy olyan sztringeket is regisztrál, amelyeket nem akarsz lefordítani. Ezért erősen ajánlott akkor is kézzel beállítani a wpml-config.xml fájlt az itt leírtak szerint: így te döntöd el, mely mezők fordíthatók.
Regisztrálás a Multilingual Tools bővítménnyel
Szekció neve “Regisztrálás a Multilingual Tools bővítménnyel”A Multilingual Tools bővítmény tartalmaz egy WPML Config Generator eszközt Elementorhoz és Gutenberg-blokkokhoz. Segítségével egy oldalra felveheted az egyedi Elementor-widgeteket vagy Gutenberg-blokkokat, amelyeket regisztrálni akarsz, és az eszköz előállítja a szükséges XML-kód első változatát. A Gutenberg-blokkokról a Gutenberg-blokkok fordíthatóvá tétele fejezet szól.
A widget regisztrációs adatainak megkeresése
Szekció neve “A widget regisztrációs adatainak megkeresése”A wpml-config.xml fájlban való regisztráláshoz két adat kell: a widget típusának neve és a lefordítandó mezők nevei.
- Add a widgetet egyedül egy új oldalhoz, és mentsd az oldalt.
- Az Elementor az oldal widgetjeit a
_elementor_databejegyzés-metamezőben tárolja. Egy olyan bővítmény, mint a JSM Show Post Metadata, az oldalszerkesztő alján egy dobozban mutatja ezt a mezőt, így elolvashatod a widget adatait.
Az adatokban:
- a
widgetTypea widgetnameattribútumához használandó név; - a
settingsalatti kulcsok a widget mezői. Az a kulcs, amely lefordítandó szöveget tartalmaz (példáultitle), regisztrálandó mezőnév; - az ismétlő mező sorok tömbjét tartalmazza. Az a kulcs, amely ezt a tömböt tartalmazza (például
contents), az „items of” név.
Ellenőrzéshez nyiss meg egy oldalt, amely használja a widgetet, a fordítószerkesztőben. A regisztrált mezők név szerint látszanak, mellettük a widget szövegei. A nem regisztrált widget semmit nem ad a feladathoz, tehát ha egyetlen szövege sem jelenik meg, a regisztráció nem lépett érvénybe.
Egyszerű widgetek regisztrálása
Szekció neve “Egyszerű widgetek regisztrálása”Egyszerű widget az, amelynek nincs ismétlő mezője. Példa:
<wpml-config> <elementor-widgets> <widget name="heading"> <conditions> <condition key="widgetType">heading</condition> </conditions> <fields> <field type="Heading" editor_type="LINE">title</field> <field type="Heading: Link URL" editor_type="LINK">link>url</field> </fields> </widget> </elementor-widgets></wpml-config>A felépítés:
- Kezdd a külső címkével, amely megmondja, melyik oldalépítő widgetjeit regisztrálod:
<elementor-widgets>: Elementorhoz, Elementor PRO-hoz vagy bármely Elementor-kiegészítőhöz;<beaver-builder-widgets>: a Beaver Builder Lite-hoz, a prémium Beaver Builderhez vagy bármely Beaver Builder-kiegészítőhöz;<siteorigin-widgets>: a SiteOrigin oldalépítőhöz;<cornerstone-widgets>: az X vagy PRO témával jövő Cornerstone oldalépítőhöz.
- Add hozzá a widgeteket:
<widget name="widget_name">: awidget_nameaz a név, amellyel a widget az oldalépítőben regisztrálva van;<conditions>(opcionális): feltételben megadhatsz egy kulcsot a widget nevével. Akkor használható, ha a widget neve eltér az adatokban lévő kulcstól, de általában nem kell.
- A widget mezőit
<fields>címkébe csomagolva add meg:field: a mező azonosítója, ugyanaz, mint amelyet aControl_stack::add_controlfüggvénnyel a vezérlő hozzáadásakor használtál;type(opcionális): a mező típusa, az a szöveg, amelyet a WPML Advanced Translation Editor vagy Classic Translation Editor mutat, hogy a fordító tudja, melyik mezőt fordítja;editor_type(opcionális): a Classic Translation Editor szövegmezőjének típusa. Értékei:LINE,AREA,LINK,VISUAL. Ha hiányzik,LINE;key_of(opcionális): csak a<fields-in-item>címkén belüli, tömböt tartalmazó<field>címkéknél használatos.
Ezekkel az elemekkel tetszőleges számú mezős egyszerű widgetet regisztrálhatsz.
Bejegyzés- vagy taxonómiaazonosítót tartalmazó mezők
Szekció neve “Bejegyzés- vagy taxonómiaazonosítót tartalmazó mezők”A type attribútum általában leíró szöveget jelenít meg a fordítószerkesztőben. Ha viszont a widget mezői bejegyzés- vagy taxonómiaazonosítót tárolnak (kiválasztott képeket, kapcsolódó bejegyzéseket, kiválasztott kategóriákat), különleges értékeket használsz, amelyek automatikus átalakítást váltanak ki:
type="post-ids": bejegyzésazonosítókat tartalmazó mezőkhöz;type="term-ids": taxonómia-/kifejezésazonosítókat tartalmazó mezőkhöz.
Ilyen értékeknél:
- a mező nem jelenik meg a fordítószerkesztőben;
- a WPML automatikusan átalakítja az azonosítókat a lefordított tartalomra mutatókká;
- egyetlen azonosító és vesszővel elválasztott lista egyaránt támogatott.
<wpml-config> <elementor-widgets> <widget name="the-widget-name"> <fields> <field type="post-ids" sub-type="attachment">image_id</field> <field type="post-ids" sub-type="post">selected_posts</field> <field type="term-ids" sub-type="category">category_filter</field> </fields> </widget> </elementor-widgets></wpml-config>Az opcionális sub-type megadja a pontos bejegyzéstípust vagy taxonómiát:
type="post-ids"esetén:attachment,post,pagevagy az egyedi bejegyzéstípus slugja;type="term-ids"esetén:category,post_tagvagy az egyedi taxonómia slugja.
A sub-type megadása gyorsít, mert nem kell további adatbázis-lekérdezéssel megállapítani a tartalom típusát.
Ismétlő mezőket tartalmazó widgetek
Szekció neve “Ismétlő mezőket tartalmazó widgetek”Az ismétlő mezős widgeteknél a mezőket <fields-in-item items_of="tabs"> címkébe kell csomagolni (ahol a tabs az ismétlő mezőket tartalmazó kulcs neve):
<widget name="accordion"> <fields-in-item items_of="tabs"> <field type="Accordion: Title" editor_type="LINE">tab_title</field> <field type="Accordion: Content" editor_type="VISUAL">tab_content</field> </fields-in-item></widget>Egy widgetnek több ismétlő mezője is lehet. Az Ultimate Addons for Elementor Table widgetjénél például így:
<widget name="uael-table"> <fields-in-item items_of="table_content"> <field type="The Cell text" editor_type="LINE">cell_text</field> </fields-in-item> <fields-in-item items_of="table_headings"> <field type="The Heading text" editor_type="LINE">heading_text</field> </fields-in-item></widget>Egyszerű és ismétlő mezőket is tartalmazó widgetek
Szekció neve “Egyszerű és ismétlő mezőket is tartalmazó widgetek”Egy widgetnek lehet fields és fields-in-item része is:
<widget name="price-table"> <fields> <field type="Price Table: Heading" editor_type="LINE">heading</field> <!-- ... --> </fields> <fields-in-item items_of="features_list"> <field type="Price table: text" editor_type="LINE">item_text</field> </fields-in-item></widget>Mezők csoportosítása
Szekció neve “Mezők csoportosítása”Az XML áttekinthetőségéért a mezők címkéjének elé teheted a csoport nevét. Példa egy hotspot widgetre:
<widget name="hotspot"> <fields-in-item items_of="hotspot"> <field type="Hotspot: Label">hotspot_label</field> <field type="Hotspot: URL" key_of="hotspot_link">url</field> <field type="Hotspot: Content" editor_type="VISUAL">hotspot_tooltip_content</field> </fields-in-item></widget>Itt minden mező a Hotspot: előtagot kapja. Ez az előtag az Advanced Translation Editorban is megjelenik: a widget mezői egy Hotspot dobozban vannak, és mindegyiknek saját címkéje van, így könnyebb azonosítani és fordítani őket.
Más oldalépítő-tartalmak regisztrálása
Szekció neve “Más oldalépítő-tartalmak regisztrálása”Sztringek, shortcode-ok és más oldalépítő-tartalmak regisztrálását a Nyelvi konfigurációs fájl fejezet sorolja fel.
Készült: