Példák és tudnivalók
Teljes mintakód include és exclude szabályokkal, egyéni függvénnyel, valamint az oldalsablon használata Sage témában.
Mintakód
Szekció neve “Mintakód”A példában az egyik meta box a felsorolt feltételek bármelyikének teljesülésekor megjelenik, a másik ugyanilyen feltételek mellett el van rejtve. A location és os kulcs egyéni taxonómia szlugja, a custom egyéni ellenőrző függvényt jelöl.
add_filter( 'rwmb_meta_boxes', 'prefix_include_exclude_demo' );
function prefix_include_exclude_demo( $meta_boxes ) { $meta_boxes[] = [ 'title' => 'Include Meta Box', 'include' => [ 'relation' => 'OR', 'ID' => [ 1, 2 ], 'parent' => [ 3, 4 ], 'slug' => [ 'contact', 'about' ], 'template' => [ 'full-width.php', 'sidebar-page.php' ], 'category' => [ 1, 'Blog', 'another' ], 'tag' => [ 1, 'fun' ], 'location' => [ 12, 'USA', 'europe' ], 'os' => [ 'Windows', 'mac-os' ], 'parent_category' => 'Parent', 'parent_tag' => 'Parent', 'parent_location' => [ 12, 'USA', 'europe' ], 'is_child' => true, 'user_role' => 'administrator', 'user_id' => [ 1, 2 ], 'custom' => 'manual_include', ], 'fields' => [ [ 'name' => 'Name', 'id' => 'name', 'type' => 'text' ], ], ];
$meta_boxes[] = [ 'title' => 'Exclude Meta Box', 'exclude' => [ 'relation' => 'OR', 'ID' => [ 1, 2 ], 'parent' => [ 3, 4 ], 'slug' => [ 'contact', 'about' ], 'template' => [ 'full-width.php', 'left-sidebar.php' ], 'category' => [ 1, 'News' ], 'tag' => [ 1, 'fun' ], 'user_role' => [ 'administrator', 'editor' ], 'user_id' => [ 1, 2 ], 'location' => [ 12, 'USA', 'europe' ], 'os' => [ 'Windows', 'mac-os' ], 'is_child' => true, 'custom' => 'manual_exclude', ], 'fields' => [ [ 'name' => 'Job', 'id' => 'job', 'type' => 'text' ], ], ];
return $meta_boxes;}
function manual_include( $meta_box ) { if ( $meta_box['title'] == 'Include Meta Box' ) { return true; } return false;}AND kapcsolat
Szekció neve “AND kapcsolat”Ha azt szeretnéd, hogy a meta box csak akkor jelenjen meg, amikor több feltétel együtt teljesül, állítsd a relation értékét AND-re. Az alábbi meta box csak a kapcsolat szlugú gyermekoldalakon látszik:
'include' => [ 'relation' => 'AND', 'slug' => [ 'kapcsolat' ], 'is_child' => true,],Oldalsablon Sage témában
Szekció neve “Oldalsablon Sage témában”A Sage a Roots.io indítótémája, amely a Laravel Blade sablonrendszert használja. A template szabály azt az értéket veszi alapul, amelyet a WordPress az adatbázisban tárol, vagyis az oldalsablon legördülő listájának értékét. Sage-ben ez views/sablonneve.blade.php alakú, ezért a szabály így néz ki:
'template' => 'views/sablonneve.blade.php',Készült: