Ho plugin per WordPress che registrano le impostazioni come:get_option wordpress ritorno falso
register_settings("myplugin_settings","myplugin_option1");
e sull'attivazione plug-in è l'aggiunta di opzioni quali:
add_option("myplugin_option1","");
Poi se aggiorno opzione, come:
update_option("myplugin_option1","something else");
e successivamente cercare di ottenerlo dal database:
$myoption = get_option("myplugin_option1");
get_option() restituisce false, anche l'opzione esiste e il valore viene aggiornato.
so che valore viene aggiornato e l'opzione esisto perché quando si esegue query per ottenere l'opzione Sto ottenendo il valore di:
global $wpdb;
$query = 'SELECT * FROM wp_options WHERE option_name = "myplugin_option1";
$result = $wpdb->get_results($query);
Questo mi restituisce il valore: "qualcos'altro"
Per esempio, questo codice:
$option = get_option("myplugin_option1");
if(false == $option){
global $wpdb;
$query = 'SELECT * FROM wp_options WHERE option_name = "myplugin_option1"';
$result = $wpdb->get_results($query);
}
Dopo l'esecuzione di questo codice, $ result conterrà valore:
Array
(
[0] => stdClass Object
(
[option_id] => 11752
[option_name] => myplugin_option1
[option_value] => something else
[autoload] => yes
)
)
Quindi l'opzione esiste e ha valore ma get_option() restituisce false.
Ho questo problema solo con 3 opzioni e solo su un sito in cui è installato il mio plugin. Qualcuno ha qualche idea del perché get_option() restituisca false anche l'opzione è nel database e ha valore "qualcos'altro".
È incluso e le funzioni di wordpress funzionano correttamente. Ho il problema solo con l'opzione 3, per tutti gli altri funziona bene. Sto ottenendo le opzioni in un ciclo e solo quelli falliscono. – carpics