Mod de a verifica dacă o opțiune există dar este goală în WordPress
Folosesc ceva de genul acesta într-unul dintre plugin-urile mele:
$myOption_def = "Valoare implicită myOption";
$myOption = get_option( 'myOption' ) ? get_option( 'myOption' ) : $myOption_def;
Funcționează corect, dar problema este că trebuie să pot seta opțiunea la "goal", iar când fac asta (dintr-un textarea în pagina de setări a plugin-ului), primesc valoarea implicită în loc de un șir gol deoarece get_option('myOption') returnează același lucru atât când valoarea opțiunii este goală, cât și când opțiunea nu există.
Cum pot determina dacă opțiunea mea nu există (și apoi seta $myOption la valoarea implicită) sau dacă valoarea opțiunii este goală (și apoi seta $myOption la un șir gol)?

În esență, pentru a distinge între valoarea booleană false
și șirul gol ''
, trebuie să folosești un operator de comparație mai strict.
var_dump( '' == false ); // returnează 'true', deoarece sunt tratate ca două valori 'empty()'
var_dump( '' === false ); // returnează 'false', deoarece valorile sunt ambele 'empty()' DAR de tipuri diferite
Dar este mai mult de spus. Având în vedere că ceea ce dorești este destul de tipic - funcția get_option()
poate furniza deja o valoare implicită. Astfel, codul tău poate fi simplificat la:
$myOption = get_option( 'myOption', $myOption_def );
Reține că acest lucru va determina corect șirul gol și nu va aplica valoarea implicită în acest caz.

acesta este singurul răspuns valid, IMHO, sperăm să obținem asta și pentru variabilele de interogare în nucleu.

nu face așa, fă cum a sugerat Rarst: $myOption = get_option( 'myOption', $myOption_def );
. Nu este nevoie să reinventezi roata. Funcționalitatea este deja implementată - o valoare implicită pentru orice opțiune. Doar trece-o ca al doilea parametru.
