Tovább a tartalomhoz

A data és a form shortcode

A {data:…} shortcode használata az ACF Repeater, az ACF Flexible Content, a Views és a Remote Content widgetben, valamint a {form:…} shortcode-ok az Elementor Pro űrlapokhoz.

A Dynamic Shortcodes két családja kifejezetten bonyolultabb adatszerkezetekhez készült: a data shortcode a widgetek saját, összetett adatait (egy repeater sorát, egy lekérdezés számlálóit, egy külső API válaszát) adja át a beállításokba, a form shortcode pedig az Elementor Pro űrlap mezőit érhetővé teszi. Mindkettő a Dynamic Shortcodes bővítményt igényli (lásd a Dynamic Shortcodes fejezetet).

A data shortcode egy „adatelérő”: azt adja vissza, amit az adott widget a saját beállításához biztosít. Nem érhető el mindenhol, csak azokban a funkciókban, amelyek összetett vagy strukturált adatot kezelnek, és ott is csak a megadott beállításmezőkben:

  • ACF Repeater widget,
  • ACF Flexible Content widget,
  • Views widget,
  • Remote Content widget.

Az elérhető kulcsok widgetenként mások, ezért a {data:…} más beállításban nem ad értéket.

A widget Dynamic HTML megjelenítési módja a data shortcode-hoz készült: saját HTML-t írsz, és abba beépíted az aktuális sor adatait. A shortcode csak ebben a beállításban használható.

Shortcode Mit ad vissza
{data:row} A teljes sort tömbként. Egy almezőt a {data:row||almező-neve} alakkal érsz el, vagy ciklussal végigjárhatod.
{for:item {data:row} {get:item} @sep=', '} A sor értékeit egy szövegként, vesszővel elválasztva. Egyszerű kiíráshoz jó.
{data:row-index} A sor sorszámát a repeaterben, 1-től indulva. Számozott listához vagy sorszámláláshoz hasznos.

Példák:

  • Egy almező értéke: {data:row||almező-neve}
  • Vesszővel tagolt kiírás: {for:item {data:row} {get:item} @sep=', '}
  • Sorszám a tartalom előtt: Sor {data:row-index}: {data:row-formatted}

A Flexible Content widget ugyanígy rendelkezik Dynamic HTML móddal, és a data shortcode itt is csak ebben a beállításban érhető el.

Shortcode Mit ad vissza
{data:row} A teljes sort tömbként. Vagy egy almezőt kérsz belőle ({data:row||almező-neve}), vagy ciklussal bejárod.
{for:item {data:row} {get:item} @sep=', '} A sor értékeit vesszővel elválasztott szövegként.

A repeaterhez és a flexible contenthez tartozó többi beállítást az ACF Repeater és az ACF Flexible Content és űrlap fejezet írja le.

A Views widget néhány beállításában használhatsz data shortcode-ot. Ezek:

Beállítás Mire való Shortcode
Group by Field Heading A csoportok címsorának dinamikus megadása. {data:heading} a csoport értékéhez, {data:permalink} a kifejezés (term) permalinkjéhez
Count Text Az elemek vagy oldalak számának egyedi szövege. {data:query}, például Oldal {data:query||page} | {data:query||start}-{data:query||end} / {data:query||total} (aktuális oldal, a látható elemek tartománya, összes elem)
Where Field Sub Szűrés egy almező vagy metaadat értéke szerint. {data:field}
Select Rewrite Egy mező értékének átírása egyedi szöveggel, az adatbázisbeli érték módosítása nélkül. {data:field}

A Views widget többi beállítását a Nézetek fejezet tartalmazza.

A Remote Content widget Dynamic HTML mezőjében a data shortcode a megadott végpontról (endpoint) letöltött adatot adja át. Más beállítás nem támogatja.

  • {data:result}: a végpont válasza, magától kitöltődik. Az adatnak JSON formátumúnak kell lennie, mint a legtöbb REST API-nál.
  • {data:result|dump}: a válasz szerkezetének látható kiírása. Az adat felépítésének megismeréséhez és hibakereséshez hasznos.
  • {data:result||kulcs}: egy elem elérése a dupla függőleges vonallal. A {data:result||message} a JSON-objektum message mezőjét adja.

Példa: véletlen kutyakép. Ha egy végpont ilyen választ ad:

{ "message": "https://images.dog.ceo/breeds/terrier-fox/n02095314_3054.jpg", "status": "success" }

akkor a Dynamic HTML mezőbe ezt írva a kép minden oldalbetöltéskor a válasz message értékéből töltődik be:

<img src="{data:result||message}" />

Példa: lista ciklussal. Ha a végpont objektumok tömbjét adja (például felhasználók listáját), a for shortcode-dal végigjárhatod:

<ul>{for:user {data:result}
[<li>
<strong>Név:</strong> {get:user||name}<br>
<strong>E-mail:</strong> {get:user||email}<br>
<strong>Város:</strong> {get:user||address||city}<br>
<strong>Cég:</strong> {get:user||company||name}
</li>]
}</ul>

A szerkezet:

  1. A {for:user {data:result} indítja a ciklust: a user az éppen soron lévő elem neve.
  2. A szögletes zárójelek […] közötti sablon ismétlődik minden elemnél. Benne a {get:user||tulajdonság} az elem egy tulajdonságát adja, a beágyazott objektumokat több || lépéssel éred el ({get:user||address||city}).
  3. A ciklus magától véget ér, amikor a tömb elfogy.

A form shortcode-ok az Elementor Pro űrlapok adataihoz adnak hozzáférést. Olyan Dynamic Content for Elementor funkciókban használhatók, amelyek az Elementor Pro űrlapjával dolgoznak.

Shortcode Mit ad vissza
{form:mező} Egy űrlapmező értékét szövegként. A mező az űrlapmező azonosítója (ID). Több választást engedő mezőnél (például jelölőnégyzetek) a kiválasztott értékek vesszővel elválasztva egy szövegben jönnek.
{form:mező@raw} A mező eredeti értékét: többszörös választásnál PHP-tömböt (például ['a', 'b', 'c']), így megmarad a szerkezet. Egyedi feldolgozáshoz vagy haladó adatkezeléshez kell.
{form:all-fields} Az űrlap összes mezőjét, az űrlap felépítésének megfelelően formázva.
{form:all-fields@not-empty} Mint az előző, de csak a kitöltött mezőket. Összefoglalókhoz jó.
{form:array} Az összes mezőt tartalmazó tömböt, amelyet ciklussal bejárhatsz egyedi megjelenítéshez.

Példák a feltétel (if) shortcode-dal:

  • Mező megjelenítése, ha nem üres: {if:{form:mező} {form:mező}}
  • Ha az első mező üres, egy másik mező: {if:{form:mező} {form:mező} {form:másik-mező}}
  • Ha üres, egyedi szöveg: {if:{form:mező} {form:mező} 'A mező üres'}

A form shortcode-ok PDF-generálásnál is használhatók (lásd a Dynamic Shortcodes fejezet PDF-es részét).

Készült:

Tiszteletben tartjuk a magánszférádat

Sütiket használunk a böngészési élmény javítására és a forgalom elemzésére. Az analitika csak akkor indul, ha engeded. Adatvédelmi irányelvek, Sütitájékoztató.

Sütibeállítások