# Feltétel megadása

> Megjelenítési és elrejtési feltétel beállítása a Meta Box Builderben és kódból.

Feltételt egy mezőre vagy egy egész meta boxra (mezőcsoportra) adhatsz meg.

## A Meta Box Builderben

Ha a mezőcsoportot a Meta Box Builderrel szerkeszted, a feltételt a mező beállításai között találod.

1. Nyisd meg a mezőcsoportot: **Meta Box → Egyéni mezők**, majd a szerkesztendő csoport.
2. Kattints arra a mezőre, amelyet feltételhez szeretnél kötni.
3. A mező beállításai között nyisd ki a **Conditional logic** szakaszt a pluszjelre kattintva.
4. Válaszd ki a **Visible** (megjelenik) vagy a **Hidden** (rejtett) értéket.
5. Válaszd ki, hogy **all** (mindegyik) vagy **any** (bármelyik) feltételnek kell teljesülnie.
6. Adj meg egy szabályt: írd be vagy válaszd ki annak a mezőnek az azonosítóját, amelytől a megjelenés függ, válaszd ki az operátort, és add meg az értéket.
7. További szabályt a **+ Add Rule** gombbal adhatsz hozzá, a feleslegeset a **Remove** hivatkozással törölheted.
8. Kattints a **Save Changes** gombra.

![A Builder mezőbeállításai között a Conditional logic szakasz egy szabállyal](./kepek/builder-feltetel.webp)

*A Builder mezőbeállításai között a Conditional logic szakasz egy szabállyal* (https://minta-bolt.hu/wp-admin/post.php?post=4&action=edit)

A képen a „Melyik Apple-terméket szereted?” mező csak akkor látszik, ha a `marka` azonosítójú mező értéke `Apple`. A mezőazonosító beírásakor a Builder a csoport meglévő mezőit ajánlja fel.

![Két szabály a Conditional logic szakaszban, a „bármelyik” (any) beállítással](./kepek/builder-tobb-szabaly.webp)

*Két szabály a Conditional logic szakaszban, a „bármelyik” (any) beállítással* (https://minta-bolt.hu/wp-admin/post.php?post=4&action=edit)

Több szabálynál az **all** beállítással minden szabálynak teljesülnie kell, az **any** beállítással elég az egyik.

A Builder felületének ez a része jelenleg angolul jelenik meg. A szakasz felirataiból: **Visible** = megjelenik, **Hidden** = rejtett, **when** = amikor, **all** = mindegyik, **any** = bármelyik, **conditions match** = feltétel teljesül, **Enter or select a field ID** = írd be vagy válaszd ki a mező azonosítóját, **Enter a value** = add meg az értéket.

Különleges esetekre (egyéni feltétel, a mezőcsoporton kívüli elemek) a kódos megadást használd.

## Kódból

Ha a meta boxokat kóddal regisztrálod, adj a mezőhöz (vagy a teljes meta boxhoz) egy `visible` vagy `hidden` paramétert.

A példában a meta box el van rejtve, ha a bejegyzés formátuma „aside”. A „Termék” mező pedig rejtve marad, ha a kiválasztott márka nem „Apple”:

```php
add_filter( 'rwmb_meta_boxes', function ( $meta_boxes ) {
    $meta_boxes[] = [
        'title'  => 'Márkák és termékek',
        'hidden' => [ 'post_format', 'aside' ],
        'fields' => [
            [
                'id'      => 'brand',
                'name'    => 'Márka',
                'type'    => 'select',
                'options' => [
                    'Apple'  => 'Apple',
                    'Google' => 'Google',
                ],
            ],
            [
                'id'      => 'apple_products',
                'name'    => 'Melyik Apple-terméket szereted?',
                'type'    => 'radio',
                'options' => [
                    'iPhone' => 'iPhone',
                    'iPad'   => 'iPad',
                ],
                'hidden'  => [ 'brand', '!=', 'Apple' ],
            ],
        ],
    ];

    return $meta_boxes;
} );
```

A szintaxis részleteit a [Szintaxis és operátorok](https://hub.hellowp.io/hu/plugins/meta-box-conditional-logic/szintaxis/) fejezet írja le.
