Skip to content

MB Include Exclude

Meta Box kiegészítő feltételes megjelenítéshez: teljes meta box csoportokat mutathatsz vagy rejthetsz admin felületeken include/exclude szabályokkal.

This content is not available in your language yet.

A MB Include Exclude a Meta Box hivatalos kiegészítője, amellyel meta box csoportokat (field groupokat) tudsz feltételesen megjeleníteni vagy elrejteni az admin felületeken. Célja, hogy a szerkesztők csak azt lássák, ami nekik releváns: kevesebb zaj, kevesebb téves szerkesztés, gyorsabb munka. Nem mezőszinten, hanem meta box szinten működik, így egy egész csoportot kezelsz egyszerre.

Hogyan működik? – Fő funkciók, érthetően

Szekció neve “Hogyan működik? – Fő funkciók, érthetően”
  • Include/Exclude szabályok: A meta box regisztrációjához hozzáadhatsz egy include és/vagy exclude tömböt.
    • A meta box akkor jelenik meg, ha az include feltételek teljesülnek, és egyetlen exclude feltétel sem igaz rá. Gyakorlatban az exclude felülír, ha találat van.
  • Több feltétel kombinálása: A szabályokon belül a relation kulccsal állíthatod, hogy AND (minden feltétel teljesüljön) vagy OR (bármelyik elég). Alapértelmezésben OR.
  • Széles feltételkészlet: Példák, amikre szűrhetsz:
    • Bejegyzés/oldal: id, parent, slug, is_child
    • Oldalsablon: template
    • Kategória, címke, egyedi taxonómia: category, tag, {taxonomy_slug}, parent_{taxonomy_slug}
    • Jogosultság: user_role, user_id
    • Felhasználói profil képernyő (MB User Meta szükséges): edited_user_role, edited_user_id
    • Egyedi logika: custom (saját PHP callback true/false visszatéréssel)
  • Mikor alkalmazza a szabályokat: A döntés oldalbetöltéskor vagy mentés után történik. Nem “élő” JS kapcsolgatás; ha azonnali, értékváltozásra reagáló logikát szeretnél, használd a Show Hide vagy Conditional Logic kiegészítőket.
  • Teljesítmény és tisztaság: A nem releváns meta box ténylegesen nem töltődik be, így az admin felület letisztultabb és gyorsabb.
  • Sablonhoz kötött beállítások: Egy “Kapcsolat” oldalsablonhoz tartozó mezők csak azon az oldalon látszanak (pl. térkép, nyitvatartás).
  • Kategória-alapú megjelenítés: “Hírek” kategóriában lévő bejegyzésekhez speciális mezőcsoportot adsz (pl. forrás, szerzői megjegyzés).
  • Jogosultság szerinti elrejtés: Haladó SEO beállítások csak adminnak jelenjenek meg; szerkesztők elől legyenek rejtve.
  • Összetett, kombinált logika: Például CSAK akkor mutasd a boxot, ha egy adott oldalsablon VAN és egy adott taxonómia ÉS a bejelentkezett felhasználó admin.

Telepítés és konfigurálás – rövid áttekintés

Szekció neve “Telepítés és konfigurálás – rövid áttekintés”
  1. Telepítsd és aktiváld a kiegészítőt, majd a meta box regisztrációs tömbjében add meg az include/exclude kulcsokat.
  2. A szabályok értékei lehetnek azonosítók, slugok, role-ok, vagy tömbök több értékkel.
  3. Egyedi logikához használj custom callbacket.

Egyszerű sablon + kategória + szerepkör példa:

add_filter( 'rwmb_meta_boxes', function ( $meta_boxes ) {
$meta_boxes[] = [
'id' => 'seo_beallitasok',
'title' => 'SEO beállítások',
'post_types' => ['post', 'page'],
'fields' => [
['id' => 'seo_title', 'type' => 'text', 'name' => 'SEO cím'],
],
'include' => [
'relation' => 'AND',
'template' => ['templates/kapcsolat.php'], // Blade esetén pl. 'views/kapcsolat.blade.php'
'category' => ['hirek'],
],
'exclude' => [
'user_role' => ['editor'], // szerkesztők elől rejtve
],
];
return $meta_boxes;
} );

Egyedi callback használata:

function my_mb_condition( $meta_box ) {
// Csak oldalakon és csak akkor, ha a cím 20 karakternél hosszabb
return get_post_type() === 'page' && mb_strlen( get_the_title() ) > 20;
}
add_filter( 'rwmb_meta_boxes', function ( $meta_boxes ) {
$meta_boxes[] = [
'id' => 'halado_opciok',
'title' => 'Haladó opciók',
'fields' => [ ['id' => 'flag', 'type' => 'checkbox', 'name' => 'Speciális flag'] ],
'include' => [
'custom' => 'my_mb_condition',
],
];
return $meta_boxes;
} );
  • Kevesebb zaj, kevesebb hiba: A szerkesztők csak a releváns mezőket látják.
  • Gyorsabb munka: Letisztult admin felület, kevesebb görgetés és keresgélés.
  • Karbantartható logika: Egységes include/exclude API helyettesíti a szétszórt, ad hoc feltételkezelést.
  • Jobb teljesítmény: A felesleges meta boxok nem töltődnek be.
  • Rugalmas testreszabás: Taxonómiák, sablonok, jogosultságok és egyedi callback kombinálhatók.
  • Fejlesztők és ügynökségek: Több tartalomtípusú, komplex admin felületek szabályalapú tisztítása.
  • Site builderek: Gyors konfiguráció kódolás nélkül vagy minimális kóddal.
  • Nagy szerkesztőcsapatot kiszolgáló oldalak: Jogosultság-alapú láthatóság és hibamegelőzés.
  • Meta box szintű vezérlés: Egyedi mezők feltételes mutatásához használj mezőszintű logikát (vagy szervezd külön meta boxokba).
  • Nem “élő” toggling: A szabályok nem váltanak azonnal értékváltozásra; a döntés oldalbetöltéskor/mentéskor történik.
  • Felhasználói profil képernyők: Az edited_user_role és edited_user_id feltételekhez szükséges a felhasználói meta kezelést biztosító kiegészítő.
  • Sablonnevek: Blade-alapú témáknál a WordPress által mentett sablonértéket add meg (pl. views/valami.blade.php).

A MB Include Exclude ideális, ha a meta box csoportokat kontextus, sablon, taxonómia vagy jogosultság alapján szeretnéd láthatóvá tenni vagy eltüntetni. Tiszta, skálázható és könnyen karbantartható szabályrendszert ad, amellyel személyre szabott, gyors és biztonságos szerkesztői élményt építhetsz. Ha azonnali, mezőszintű vagy értékfüggő kapcsolgatás a cél, válassz kiegészítőket, amelyek erre specializáltak.

We respect your privacy

We use cookies to improve your browsing experience and to analyse traffic. Analytics only starts if you allow it. Privacy policy, Cookie policy.

Cookie settings