Fülek elrejtése feltételes logikával
Hogyan rejthetsz el egy fület vagy az első fület a Meta Box feltételes logikájával az rwmb_outside_conditions szűrő segítségével.
A Meta Box feltételes logikája bármilyen HTML-elemre működik, ezért a Meta Box Tabs füleit is el tudja rejteni. A fül nem szokásos mező és nem is mezőcsoport, ezért a feltételt az rwmb_outside_conditions szűrővel kell megadnod. Ehhez a Meta Box Conditional Logic bővítmény is kell.
Egy fül elrejtése
Szekció neve “Egy fül elrejtése”Tegyük fel, hogy ilyen mezőcsoportod van, két füllel (Életrajz és Érdeklődés):
add_filter( 'rwmb_meta_boxes', function ( $meta_boxes ) { $meta_boxes[] = [ 'title' => 'Személyes adatok', 'tabs' => [ 'bio' => 'Életrajz', 'interest' => 'Érdeklődés', ], 'tab_style' => 'box', 'fields' => [ [ 'name' => 'Életrajz', 'id' => 'bio', 'type' => 'textarea', 'tab' => 'bio', ], [ 'name' => 'Érdeklődés', 'id' => 'interest', 'type' => 'textarea', 'tab' => 'interest', ], ], ]; return $meta_boxes;} );A fülsáv HTML-je így néz ki:
<ul class="rwmb-tab-nav"> <li class="rwmb-tab-bio rwmb-tab-active" data-panel="bio"><a href="#">Életrajz</a></li> <li class="rwmb-tab-interest" data-panel="interest"><a href="#">Érdeklődés</a></li></ul>Minden fül <li> eleme megkapja a rwmb-tab-<fül azonosítója> osztályt. Egy fül elrejtéséhez ezt az osztályt add meg az rwmb_outside_conditions szűrőben. A példában az Érdeklődés fül akkor tűnik el, ha a bejegyzés formátuma aside:
add_filter( 'rwmb_outside_conditions', function ( $conditions ) { $conditions['.rwmb-tab-interest'] = [ 'hidden' => [ 'post_format', 'aside' ], ]; return $conditions;} );A szűrő tehát a CSS-választó (.rwmb-tab-interest) mellé azt a feltételt rendeli, amelynél az elem rejtve van (hidden). A feltétel formátuma ugyanaz, mint a mezők feltételes logikájánál: a mező vagy elem azonosítója, majd az érték.
Az első fül elrejtése
Szekció neve “Az első fül elrejtése”Az első fülnél többet kell tenned: a fül tartalmi paneljét is el kell rejtened, és a következő fül panelját meg kell jelenítened, különben a rejtett fül paneljén maradnak a mezők. A panel osztálya rwmb-tab-panel-<fül azonosítója>.
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;} );Ha a bejegyzés formátuma aside, az Életrajz fül és a panelje eltűnik, a második fül panelje pedig látszik.
Készült: