Szintaxis és operátorok
A feltételek felépítése, az összehasonlító operátorok, több feltétel kombinálása és a különleges értékek.
Alapszintaxis
Szekció neve “Alapszintaxis”Egy meta box vagy mező láthatóságát a visible (megjelenik) és a hidden (rejtett) beállítással adhatod meg:
'visible' => [ 'mező', 'operátor', 'érték' ],'hidden' => [ 'mező', 'operátor', 'érték' ],| Elem | Jelentés |
|---|---|
mező |
A Meta Box mező azonosítója, vagy egy HTML-elem azonosítója, amellyel összehasonlítasz. |
operátor |
Az összehasonlítás módja: =, >=, <=, >, <, !=, in, contains, between, starts with, ends with, match. Mindegyik megfordítható a not előtaggal. Elhagyható, alapértéke =. |
érték |
Az az érték, amellyel összehasonlítasz. |
Ha az operátor =, kihagyhatod:
'visible' => [ 'mező', 'érték' ],'hidden' => [ 'mező', 'érték' ],Összehasonlító operátorok
Szekció neve “Összehasonlító operátorok”Az egyszerű operátorok (=, !=, >, <, >=, <=) egyértelműek. A többi operátor működése:
| Operátor | Mit vizsgál |
|---|---|
contains |
A mező értéke tartalmazza-e a megadott szöveget vagy értéket. |
in |
A mező értéke szerepel-e a megadott értéktömbben. |
between |
A mező értéke a két megadott érték közé esik-e. |
starts with |
A mező értéke a megadott szöveggel kezdődik-e. |
ends with |
A mező értéke a megadott szöveggel végződik-e. |
match |
A mező értéke illeszkedik-e a megadott reguláris kifejezésre. |
contains
Szekció neve “contains”Szövegmezőnél azt nézi, hogy a mező értéke tartalmazza-e a megadott szövegrészt:
'visible' => [ 'brand', 'contains', 'pp' ]Több értékű mezőnél (jelölőnégyzet-lista, többszörös kiválasztás) azt vizsgálja, hogy a mező értéke (ami ilyenkor tömb) tartalmazza-e az adott értéket:
'visible' => [ 'brand', 'contains', 'Apple' ]A taxonomy_advanced mezőnél az értéknek a kifejezés (term) azonosítóját add meg. Például így ellenőrizheted, hogy van-e kiválasztott érték:
'visible' => [ 'product_type', 'contains', 4 ]Azt ellenőrzi, hogy a mező értéke szerepel-e a megadott értékek között:
'visible' => [ 'brand', 'in', [ 'Apple', 'Samsung' ] ]Több értékű mezőnél (például checkbox_list) akkor teljesül, ha a kiválasztott értékek bármelyike szerepel a megadott tömbben. A fenti példa ilyenkor akkor jelenik meg, ha az „Apple” vagy a „Samsung” közül legalább az egyik ki van jelölve.
taxonomy_advanced mezőnél kifejezés-azonosítókat adj meg:
'visible' => [ 'product_type', 'in', [ 2, 4 ] ]between
Szekció neve “between”Azt ellenőrzi, hogy a mező értéke a megadott legkisebb és legnagyobb érték közé esik-e. Számokon kívül dátum- és időmezőkkel is működik.
Például egy released_date dátummező értéke 2015. június 1. és 2015. december 1. között:
'visible' => [ 'released_date', 'between', [ '2015-06-01', '2015-12-01' ] ]starts with és ends with
Szekció neve “starts with és ends with”'visible' => [ 'brand', 'starts with', 'App' ]'visible' => [ 'brand', 'ends with', 'le' ]match
Szekció neve “match”A mező értékét reguláris kifejezéssel veti össze:
'visible' => [ 'brand', 'match', '[a-z]$' ]A not az operátorok jelentését megfordítja. Így lesz belőlük: not contains, not in, not match, not starts with, not ends with, not between.
Több feltétel
Szekció neve “Több feltétel”Egy meta boxra vagy mezőre több feltételt is megadhatsz. Alapértelmezés szerint a feltételek mindegyikének teljesülnie kell:
'visible' => [ [ 'brand', 'Apple' ], [ 'released_year', 'between', [ 2010, 2015 ] ],],Ha elég, hogy az egyik teljesüljön, tedd a feltételeket a when kulcs alá, és add meg a relation kulcsot or értékkel:
'visible' => [ 'when' => [ [ 'brand', 'Apple' ], [ 'released_year', 'between', [ 2010, 2015 ] ], ], 'relation' => 'or',],A Builderben ugyanezt a Conditional logic szakasz all és any választója adja.
Különleges értékek
Szekció neve “Különleges értékek”Jelölőnégyzet
Szekció neve “Jelölőnégyzet”Jelölőnégyzetnél a ki nem jelölt állapotot 0 vagy false, a bejelöltet 1 vagy true jelenti:
'visible' => [ 'checkbox_field', true ]Médiamezők
Szekció neve “Médiamezők”A WordPress médiaablakát használó mezőknél (file_advanced, image_advanced) a bővítmény nem az értéket, hanem a feltöltött fájlok számát vizsgálja. Az alábbi példa akkor jelenít meg egy mezőt, ha van feltöltött fájl, és akkor rejt el egy másikat, ha nincs feltöltött kép:
'visible' => [ 'file_advanced', '>', 0 ],'hidden' => [ 'image_advanced', 0 ],Készült: