Más elemek, taxonómiák és csoportok
Feltételek WordPress-elemek, kiemelt kép, kategóriák, címkék, egyéni taxonómiák és csoportmezők alapján, valamint a mezőcsoportokon kívüli elemek kezelése.
Más HTML-elemek alapján
Szekció neve “Más HTML-elemek alapján”A feltétel nemcsak Meta Box mezőkre hivatkozhat, hanem a szerkesztő más elemeire is. Így egy meta boxot vagy mezőt függővé tehetsz például a bejegyzéstípustól, a szülőoldaltól, a bejegyzés azonosítójától vagy a kategóriáktól.
HTML-elem esetén az első paraméterbe a mezőazonosító helyett az elem azonosítóját írd. A beépített WordPress-elemek:
| Paraméter | Jelentés |
|---|---|
post_ID |
A bejegyzés azonosítója |
page_template |
Az oldalsablon |
parent_id |
A szülő bejegyzés azonosítója |
post_format |
A bejegyzés formátuma |
Például egy meta box (vagy mező) csak akkor jelenik meg, ha az oldalsablon a template-custom.php:
'visible' => [ 'page_template', 'template-custom.php' ],Kiemelt kép
Szekció neve “Kiemelt kép”A kiemelt kép különleges elem. Mezőneve _thumbnail_id, és ha nincs beállítva, a WordPress -1 értéket ad neki. A bővítmény észleli a kiemelt kép változását, ezért feltételt is köthetsz hozzá.
Mező megjelenítése, ha nincs kiemelt kép:
'visible' => [ '_thumbnail_id', '=', '-1' ],Mező megjelenítése, ha van kiemelt kép:
'visible' => [ '_thumbnail_id', '!=', '-1' ],Mező megjelenítése csak akkor, ha a kiemelt kép egy bizonyos, például 123 azonosítójú kép:
'visible' => [ '_thumbnail_id', '=', '123' ],Mezőcsoportokon kívüli elemek
Szekció neve “Mezőcsoportokon kívüli elemek”A bővítmény a mezőcsoportokon kívüli elemeket is el tudja rejteni. Ha például a .custom-div elemet el akarod rejteni, amikor a brand azonosítójú mező értéke Microsoft, használd az rwmb_outside_conditions szűrőt:
add_filter( 'rwmb_outside_conditions', function ( $conditions ) { $conditions['.custom-div'] = [ 'hidden' => [ 'brand', 'Microsoft' ], ];
return $conditions;} );A kulcs bármilyen CSS-választó lehet, például #custom-id vagy .my-class .children.
Ha a feltétel olyan beviteli elemtől függ, amely nem Meta Box mező, az azonosítóját # jellel add meg:
add_filter( 'rwmb_outside_conditions', function ( $conditions ) { $conditions['.custom-div'] = [ 'hidden' => [ '#input-id', 'value' ], ];
return $conditions;} );Fülek elrejtése
Szekció neve “Fülek elrejtése”Az MB Tabs bővítménnyel létrehozott fülek nem rendes mezők vagy meta boxok, ezért az elrejtésükhöz is az rwmb_outside_conditions szűrő kell. A feltétel a fül HTML-osztályára hivatkozik.
Vegyünk egy meta boxot két fülekkel, Biography és Interest néven:
add_filter( 'rwmb_meta_boxes', function ( $meta_boxes ) { $meta_boxes[] = [ 'title' => 'MB Tabs 2', 'tabs' => [ 'bio' => 'Biography', 'interest' => 'Interest', ], 'tab_style' => 'box', 'fields' => [ [ 'name' => 'Bio', 'id' => 'bio', 'type' => 'textarea', 'tab' => 'bio', ], [ 'name' => 'Interest', 'id' => 'interest', 'type' => 'textarea', 'tab' => 'interest', ], ], ];
return $meta_boxes;} );A fülek HTML-je ehhez hasonló, minden fül rwmb-tab-<fül azonosítója> osztályt kap:
<ul class="rwmb-tab-nav"> <li class="rwmb-tab-bio rwmb-tab-active" data-panel="bio"><a href="#">Biography</a></li> <li class="rwmb-tab-interest" data-panel="interest"><a href="#">Interest</a></li></ul>Az Interest fül elrejtéséhez, ha a bejegyzés formátuma „aside”, add a fül osztályát a szűrőhöz:
add_filter( 'rwmb_outside_conditions', function ( $conditions ) { $conditions['.rwmb-tab-interest'] = [ 'hidden' => [ 'post_format', 'aside' ], ];
return $conditions;} );Az első fül elrejtése
Szekció neve “Az első fül elrejtése”Az első fül elrejtésekor a hozzá tartozó panelt is el kell rejteni, a következő fül panelját pedig meg kell jeleníteni:
add_filter( 'rwmb_outside_conditions', function ( $conditions ) { $conditions['.rwmb-tab-bio, .rwmb-tab-panel-bio'] = [ 'hidden' => [ 'post_format', 'aside' ], ]; $conditions['.rwmb-tab-panel-interest'] = [ 'visible' => [ 'post_format', 'aside' ], ];
return $conditions;} );Taxonómiák
Szekció neve “Taxonómiák”Bejegyzés-kategória
Szekció neve “Bejegyzés-kategória”A kategóriához a post_category az első paraméter:
'visible' => [ 'post_category', 'in', [ 4, 5, 6 ] ]Alapértelmezés szerint kategóriaazonosítókkal dolgozik. Ha inkább a kategória szlugját használnád, tedd elé a slug: előtagot:
'visible' => [ 'slug:post_category', 'in', [ 'fashion', 'gaming', 'technology' ] ]Címke
Szekció neve “Címke”A címkék támogatása csak a blokkszerkesztőben (Gutenberg) érhető el. Az első paraméter a tags:
'visible' => [ 'tags', 'in', [ 4, 5, 6 ] ]A kategóriától eltérően a címkéknél kizárólag címkeazonosítót használhatsz.
Egyéni taxonómia
Szekció neve “Egyéni taxonómia”Egyéni taxonómiánál az első paraméter tax_input[taxonómia_szlug]:
'hidden' => [ 'tax_input[product]', 'in', [ 5, 6, 7 ] ],A kategóriához hasonlóan itt is használhatsz szlugot:
'hidden' => [ 'slug:tax_input[product]', '!=', 'drones' ]Csoportmezők
Szekció neve “Csoportmezők”A bővítmény jQuery-vel ellenőrzi a mező azonosítóját és értékét. Nem klónozható csoport almezőjének tényleges azonosítója csoportazonosító_mezőazonosító alakú, a feltételben ezt kell megadnod:
[ 'id' => 'group', 'type' => 'group', 'fields' => [ [ 'id' => 'brand', 'name' => 'Márka', 'type' => 'select', 'options' => [ 'apple' => 'Apple', 'google' => 'Google', 'microsoft' => 'Microsoft', ], ], [ 'id' => 'apple_products', 'name' => 'Melyik Apple-terméket szereted?', 'type' => 'radio', 'options' => [ 'iPhone' => 'iPhone', 'iPad' => 'iPad', 'Macbook' => 'Macbook', ], 'visible' => [ 'group_brand', '=', 'apple' ], ], ],],Klónozható csoportnál a feltétel csak az adott klónon belül fut, ezért az almezők azonosítóját nem kell átírnod.
Készült: