Tovább a tartalomhoz

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.

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ü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:

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