Tovább a tartalomhoz

Dinamikus adatok

A dinamikus adatcímkék használata: beszúrás, WordPress-mezők, egyéni mezők, dátumok, szűrők és kulcs-érték argumentumok.

A dinamikus adatokkal a WordPress adatbázisában tárolt értékeket jelenítheted meg a Bricksben: kiemelt kép, bejegyzés címe, dátum, szerző neve, kategóriák, címkék, az oldal címe vagy bármelyik egyéni mező. Leggyakrabban sablonok készítésekor használod őket, például a bejegyzés sablonban vagy egy egyedi bejegyzéstípus (például ingatlanhirdetés) egyoldalas sablonjában.

A dinamikus adat egy címkével (tag) adható meg kapcsos zárójelben, például {post_title}. Megjelenítéskor a Bricks a címke helyére az aktuális értéket írja.

Szöveges beállításban a { karakter begépelésére megjelenik a dinamikus adatok választója. A beállítás melletti villám ikonra kattintva ugyanezt a listát nyitod meg.

Nem szöveges beállításoknál (kép, videó és hasonlók) a beállításpanelen a dinamikus adatok legördülő menüből választasz.

Az összes címke elérhető minden olyan elemben, amely támogatja a dinamikus adatot. Egy galéria típusú egyéni mező (például egy ACF-galéria) szövegelembe is beszúrható: ilyenkor img címkék sorozataként jelenik meg (az :image szűrővel).

https://minta-bolt.hu/lekerdezes-teszt/?bricks=run
Egy lekérdezési ciklus a Bricks szerkesztőben, amelynek elemei dinamikus adatot használnak

A képen egy blokk látszik, amelyben a Címsor és az Egyszerű szöveg elem dinamikus címkét tartalmaz ({post_title:link} és {post_excerpt:15}).

A Bricks nem csak a WordPress alapadataival dolgozik. Ezeket az egyéni mező bővítményeket támogatja:

  • Advanced Custom Fields (ACF és ACF Pro)
  • Meta Box
  • Crocoblock JetEngine
  • Pods
  • CMB2
  • Toolset

Így a legbonyolultabb egyedi bejegyzéstípus-elrendezések és adatigények is megoldhatók sablonnal.

A Bricks az összes ACF és ACF Pro mezővel együttműködik, a Flexible Content és a beágyazott csoportok is beleértve. A mezők a szerkesztő dinamikus adat legördülő menüjében jelennek meg.

  • A Relationship mező (a kétirányú kapcsolat is) és a Repeater mező a lekérdezési ciklus építőben is elérhető. Végig tudsz menni a mezők tartalmán, és az alsó szintű mezőket dinamikus adatként jelenítheted meg.
  • Az ACF True / False mezője az elemfeltételeknél hasznos. Alapból a lefordított „True / False” felirat jön vissza, ezért feltételben használd a :value szűrőt. A hamis ellenőrzéséhez a == 0, az igazhoz a == 1 összehasonlítás kell.
  • A {acf_get_row_layout} címke az ACF Flexible tartalom aktuális elrendezésének nevét adja vissza, ami az elemfeltételekkel jól használható.

A Bricks kompatibilis a Meta Box bejegyzéstípusaival, taxonómiáival, egyéni mezőivel és kapcsolataival. Az egyéni mezők a dinamikus adat legördülő menüben jelennek meg, és a tartalmuk szerint töltődnek be a frontenden. A (többszörözhető) Group mező és a kapcsolatok a lekérdezési ciklus építőben is elérhetők, az alsó szintű mezők dinamikus adatként megjeleníthetők. A nem többszörözhető, beágyazott Group mezők építése is lehetséges a lekérdezési ciklusban.

A Bricks kompatibilis a JetEngine bejegyzéstípusaival, meta dobozaival (egyéni mezők), taxonómiáival, kapcsolataival és beállítási oldalaival. Az egyéni mezők dinamikus adatként érhetők el a szerkesztőben, a kapcsolatok és az ismétlők pedig a lekérdezési ciklust is táplálhatják. Az egyedi tartalomtípusok (CCT) támogatását a JetEngine adja, nem a Bricks, ezért ezekkel kapcsolatos kérdéssel a JetEngine ügyfélszolgálatához fordulj.

A JetEngine meta dobozok mezői is megjelennek, ha a forrásuk WooCommerce termékadat vagy WooCommerce termékváltozat. A Bricks mindegyik forrásnak külön előtagot ad:

Forrás Címke
WooCommerce termékadat {je_woo_product_<mezőnév>}
WooCommerce termékváltozat {je_woo_product_variation_<mezőnév>}
A Termék bejegyzéstípushoz rendelt bejegyzésmezők {je_product_<mezőnév>}

Ha például a termékadat mezőjének neve delivery_note, a címke {je_woo_product_delivery_note}. Egy azonos nevű, rendes termék-bejegyzésmező címkéje {je_product_delivery_note}. Az eltérő előtagok megakadályozzák, hogy a két mező ugyanazt a címkét regisztrálja.

Alapból ezek a címkék használhatók.

Bejegyzésekhez és egyedi bejegyzéstípusokhoz kapcsolódnak.

Címke Mit ad vissza
{post_title} a bejegyzés címe
{post_id} a bejegyzés azonosítója
{post_url} a bejegyzés hivatkozása
{post_slug} a bejegyzés slugja
{post_type} a bejegyzés típusa
{post_date} a közzététel dátuma
{post_modified} a módosítás dátuma
{post_time} a közzététel időpontja
{post_comments_count} a hozzászólások száma
{post_content} a bejegyzés tartalma (blokkszerkesztő)
{post_excerpt} a bejegyzés kivonata
{read_more} a bejegyzésre mutató hivatkozás „Read more” felirattal
{featured_image} a kiemelt képet tartalmazó kép címke

Ezek a mezők támogatják a szűrőket:

Példa Hatás
{post_title:link} a cím a bejegyzésre mutató hivatkozásként jelenik meg
{post_title:link:3} ugyanez, de a cím 3 szóra rövidítve
{post_title:link:newTab} a hivatkozás új lapon nyílik
{post_date:human_time_diff} a dátumkülönbség emberi formában („1 hour”, „5 mins”, „2 days”)
{post_excerpt:55} a kivonat 55 szóra korlátozva (a kettőspont utáni szám a szavak száma)
{post_excerpt:format:10} a HTML-formázás megmarad, a kivonat 10 szóra korlátozva
{featured_image:medium_large} a kiemelt kép medium_large méretben (alapból bélyegkép méret)
{featured_image:large:link} a kiemelt kép large méretben, a bejegyzésre mutató hivatkozásba csomagolva

Ezek a címkék a bejegyzéshez rendelt kifejezések listáját adják, és mindegyik kifejezés a saját archívumára mutat:

  • {post_terms_category}
  • {post_terms_post_tag}
  • {post_terms_my_taxonomy_slug}: a my_taxonomy_slug helyére a használni kívánt taxonómia slugja kerül.
  • {post_terms_category:plain}: a :plain szűrő eltávolítja a hivatkozásokat.

Ha az elem körül már van hivatkozás, a kifejezések hivatkozásait a bricks/dynamic_data/post_terms_links szűrővel kapcsolhatod ki.

Címke Mit ad vissza
{term_id} a kifejezés azonosítója
{term_name} a kifejezés neve
{term_slug} a kifejezés slugja
{term_count} a kifejezéshez tartozó bejegyzések száma
{term_taxonomy_slug} a kifejezés taxonómiájának slugja
{term_parent} a szülő kifejezés neve (üres, ha nincs szülő)
{term_children} a közvetlen gyermek kifejezések nevei vesszővel elválasztva (csak a közvetlen gyerekek, az üres kifejezések is szerepelnek)
{term_url} a kifejezés archívumának hivatkozása
{term_description} a kifejezés leírása
{term_meta:my_term_meta_key} a my_term_meta_key kifejezésmeta értéke

A {term_parent} és a {term_children} címkéhez három szűrő használható: a :value azonosítókat, a :slug slugokat, a :link hivatkozott neveket ad vissza. Elemfeltételben a {term_children:value} nem üres voltával például csak a szülő kifejezéseknél jeleníthetsz meg egy elemet.

Címke Mit ad vissza
{author_id} a szerző azonosítója
{author_name} a szerző neve
{author_bio} a szerző bemutatkozása
{author_email} a szerző e-mail-címe
{author_website} a szerző weboldala
{author_archive_url} a szerző archívumának hivatkozása
{author_avatar} a szerző avatárja képként (szövegben) vagy kép URL-ként (hivatkozásban)
{author_meta:meta_key} a megadott szerzőmeta értéke, például {author_meta:first_name} a keresztnevet adja

Szűrési példák:

  • {author_bio:20}: a bemutatkozás 20 szóra korlátozva.
  • {author_name:link}: a név a szerző profiloldalára mutató hivatkozás.
  • {author_email:link} és {author_website:link}: az e-mail-cím vagy a weboldal hivatkozásként.
  • {author_avatar:200}: az avatár legfeljebb 200 képpont széles és magas.

{query_loop_index}: az aktuális cikluselem sorszáma, 0-tól indulva. A @start-at argumentummal más kezdőszámot adhatsz meg ({query_loop_index @start-at:1} 1-től indul). A @pad argumentum kitölti nullákkal a megadott szélességig: a {query_loop_index @pad:3} az 1 helyett 001-et, a 10 helyett 010-et ad, a @pad:2 pedig 01-et és 10-et.

{query_results_count}: a lekérdezés találatainak száma. Cikluson belül és kívül is használható. Kívül szűrőként meg kell adni a lekérdezési ciklus Bricks azonosítóját is, így: {query_results_count:quer34}. Az azonosítót az elem jobb gombos helyi menüjéből másolhatod a vágólapra.

Címke Mit ad vissza
{site_title} az oldal címe (Beállítások → Általános → Webhely címe)
{site_tagline} az alcím (Beállítások → Általános)
{site_url} az oldal címe URL-ként
{site_login} a belépési URL. Átirányítás belépés után: {site_login:3}, ahol a szám a céloldal azonosítója
{site_logout} a kilépési URL. Átirányítás kilépés után: {site_logout:3}
{archive_title} az archívum címe
{archive_title:context} az archívum címe szövegkörnyezettel (előtaggal)
{archive_description} az archívum leírása (szerző, bejegyzéstípus vagy kifejezés)
{url_parameter:my_key} az URL my_key paraméterének értéke (például https://példa.hu/?my_key=érték)

Az aktuális (bejelentkezett) felhasználó adatait adják vissza.

Címke Mit ad vissza
{wp_user_id} azonosító
{wp_user_login} felhasználónév
{wp_user_email} e-mail-cím
{wp_user_url} weboldal
{wp_user_author_url} szerzői archívum URL-je
{wp_user_role} elsődleges szerepkör (a :value szűrő a szerepkör slugját adja)
{wp_user_registered_date} regisztráció dátuma
{wp_user_nicename} becenév (nicename)
{wp_user_description} bemutatkozás
{wp_user_first_name} keresztnév
{wp_user_last_name} vezetéknév
{wp_user_display_name} megjelenített név
{wp_user_picture} avatár képként vagy URL-ként
{wp_user_meta:my_user_meta_key} a my_user_meta_key felhasználómeta értéke

A saját egyéni mezőidet cf_ előtaggal kell megadni. Ha a mező neve phone_number, a címke {cf_phone_number}. A mező a dinamikus adatok választójában is megjelenik az Egyéni mezők csoportban.

  • {current_date}: az aktuális dátum (UTC), a Beállítások → Általános oldalon megadott dátumformátumban.
  • {current_wp_date}: az aktuális dátum a WordPress időzónája szerint, ugyanabban a formátumban.

Más formátumot PHP dátumformátummal adhatsz meg, például:

{current_date:Y}
{current_date:Ymd}
{current_date:Y-m-d}
{current_date:Y.m.d}
{current_date:Y/m/d}
{current_date:Y m d}
{current_date:g:i A}
{current_date:timestamp}

A {format_date} címke egy dátumot egyik formátumból a másikba alakít át, PHP kód nélkül:

{format_date @date:'2025-01-10' @from:'Y-m-d' @to:'d M Y'}

Argumentumai:

  • @date: az átalakítandó dátum. Lehet fix érték vagy másik dinamikus címke.
  • @from: a bemeneti formátum (például Y-m-d, Y/m/d, Y-m-d\TH:i:s.v\Z).
  • @to: a kívánt kimeneti formátum (például d M Y, timestamp, Y-m-d (l)).

Példák:

  1. Egyszerű átalakítás. A fenti címke kimenete 10 Jan 2025.
  2. API-válaszból. Ha a {query_api @key:'registered'} ISO formátumú dátumot ad (például 2025-04-30T09:41:02.053Z), ezzel alakíthatod át: {format_date @date:'{query_api @key:'registered'}' @from:'Y-m-d\TH:i:s.v\Z' @to:'Y m d (l)'}. A kimenet: 2025 04 30 (Wednesday).
  3. Időbélyegre. Dátumok összehasonlításához feltételben hasznos: {format_date @date:'{cf_my_date}' @from:'Y/m/d' @to:'timestamp'}, ahol a {cf_my_date} például 2025/03/25.

Az echo címke bármelyik PHP-függvény kimenetét megjeleníti:

  • {echo:my_custom_function}: a my_custom_function() visszatérési értékét írja ki.
  • {echo:get_the_date('Y-m-d', '55')}: az 55-ös azonosítójú bejegyzés dátuma Y-m-d formátumban.

A függvény argumentumait egyszeres idézőjelbe kell tenni, akár fix értékek, akár dinamikus címkék: {echo:my_function('static value')} és {echo:my_function('{post_title}')}.

A használható függvényeket a bricks/code/echo_function_names szűrővel kell engedélyezni.

A do_action címkével műveletkampót (action hook) helyezhetsz el a sablonban, így más bővítmények is beléphetnek a tervedbe. Például a {do_action:woocommerce_after_single_product} a WooCommerce egyoldalas terméksablonba illesztve lehetővé teszi, hogy más bővítmények a termékoldal végére tegyenek tartalmat.

Aktív WooCommerce esetén további címkék érhetők el a termékekhez és rendelésekhez. A WooCommerce moduláris (v2) elemekhez a kosár végösszegének, a pénztár lépéseinek, a WooCommerce URL-eknek, a fiókcímeknek, a rendeléseknek, a letöltéseknek és a vásárlói jegyzeteknek is vannak címkéi.

A címkék kimenetét ezekkel a szűrőkkel módosíthatod:

Szűrő Hatás
:<szám> szövegmezőnél a megadott szószámra vágja a tartalmat ({post_excerpt:10}); avatármezőnél a kép szélessége és magassága
:context vagy :prefix szövegkörnyezetet (előtagot) ad az archívum címéhez
:image a mezőt kép címkeként adja vissza
:link a mezőt hivatkozásként adja vissza
:newTab a hivatkozás új lapon nyílik
:tel a hivatkozás URL-je telefonszám formátumú (tel:+123456789)
:<szöveg> szövegkörnyezettől függően felhasználó- vagy kifejezésmeta kulcs, URL-paraméter kulcs, kifejezések elválasztója, dátumformátum, képméret slug (például thumbnail, full) vagy az echo függvény neve
:value a felirat helyett az értéket adja vissza. Elemfeltételekben választó típusú mezők összehasonlításához hasznos (Meta Box jelölőnégyzet-lista, ACF Select, Checkbox, Radio Button, Button Group mezők, ha a visszatérési típus „Both (Array)”)
:raw a címke feldolgozását kihagyja
:url egy azonosítóból URL-t ad (például fájl típusú mezőnél)
:format megtartja a HTML-formázást, vagy WooCommerce-nél az üres csillagokat is mutatja az értékelésnél
:plain eltávolítja a HTML-címkéket (wp_strip_all_tags), például a kifejezéslistából a hivatkozásokat
:array_value|{KULCS} egy tömb eredmény megadott kulcsának értékét adja. Hasznos az ACF Google Map és Link típusú mezőihez, és az echo címkével is használható. Beágyazott tömbnél JSON szövegként adja vissza. Csak akkor használd, ha biztos vagy benne, hogy az eredmény tömb; hiányzó kulcsnál üres szöveg jön
:timestamp a dátum vagy idő értékét időbélyeggé alakítja
:slug és :term_id a {post_terms_xxxx} címkéknél a kifejezés neve helyett a slugot vagy az azonosítót adja. Feltételben és taxonómia lekérdezésben az :plain szűrővel együtt használd: {post_terms_xxxx:slug:plain}

Az :array_value szűrő példái:

  • {acf_place_map:array_value|lat}: az ACF Google Map mező szélességi koordinátája.
  • {acf_place_map:array_value|post_code}: az irányítószám.
  • {acf_ext_link:array_value|title}: az ACF Link mező címe.
  • {je_football-team_logo:array_value|id}: a JetEngine médiamező azonosítója (ha az értékformátum „tömb”).
  • {mb_testimonials_user_image:array_value|name}: a Meta Box egyképes mező neve.
  • {echo:custom_function:array_value|hello}: a custom_function() eredményének hello kulcsa.

A dinamikus címkékhez kulcs-érték argumentumokat is adhatsz: {címke @kulcs:érték}. A szóközt tartalmazó szöveget egyszeres idézőjelbe kell tenni, és az érték is tartalmazhat dinamikus címkét (például {acf_text_field @fallback:'No content was found for {post_title}'}).

Argumentum Mit csinál
@fallback tartalék szöveg, ha a címke nem ad vissza adatot. Bármelyik címkével használható
@fallback-image tartalék kép képcímkékhez. Mellékletazonosító vagy URL lehet
@sanitize a szövegkörnyezetben használt címkék tisztítási módját szabályozza

A @fallback példái:

  • {acf_text_field @fallback:'This is the fallback text!'}: ha az acf_text_field üres, a tartalék szöveg jelenik meg.
  • {acf_page_builder_cta_modul_options_css_id @fallback:'{acf_get_row_layout}-{query_loop_index}'}: ha a mező üres, az aktuális ACF Flexible elrendezés neve és a ciklussorszám kerül a helyére. Dinamikus CSS-azonosítónál hasznos.

A @fallback-image példái: {acf_image @fallback-image:554} vagy {acf_image @fallback-image:'https://example.com/placeholder.png'}. Ha az acf_image nem elérhető, a megadott kép jelenik meg.

A @sanitize alapból mindent a wp_kses_post függvénnyel tisztít, ami kiszűri a nem kívánt HTML-t és szkripteket. Ez akkor okozhat gondot, ha egy egyéni mezőben JavaScriptet kiadó rövidkód (például űrlap) van: a szkript kiszűrődik, és az űrlap nem működik. Példák:

  • {acf_my_wysiwyg @sanitize:false}: kikapcsolja a tisztítást, így a szkriptek is megjelennek. Csak akkor használd, ha biztos vagy abban, hogy a tartalom tisztítás nélkül is biztonságos.
  • {acf_my_wysiwyg @sanitize:sanitize_email}: a sanitize_email függvényt alkalmazza. Ha az érték nem érvényes e-mail-cím, üres lesz.
  • {acf_my_wysiwyg @sanitize:sanitize_email @fallback:'[email protected]'}: ha a tisztítás után üres az eredmény, a tartalék cím jelenik meg.
  • bricks/dynamic_data/exclude_tags: címkék listáját zárja ki a Bricks dinamikus adatkezeléséből.
  • bricks/dynamic_data/replace_nonexistent_tags: kikapcsolja azt az alapviselkedést, hogy a nem létező címkéket üres szövegre cseréli a Bricks.

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