mam wordpress wtyczki, które zapisać ustawienia jak:wordpress get_option powrocie fałszywe
register_settings("myplugin_settings","myplugin_option1");
i aktywacji wtyczki to dodanie opcji, takich jak:
add_option("myplugin_option1","");
następnie, jeśli mogę zaktualizować opcji, takich jak:
update_option("myplugin_option1","something else");
i późniejsza próba uzyskania tego z bazy danych:
$myoption = get_option("myplugin_option1");
get_option() zwraca wartość false, istnieje jeszcze opcja i wartość jest aktualizowana.
wiem, że wartość jest aktualizowana i opcja istnieje, ponieważ po uruchomieniu kwerendy, aby uzyskać możliwość otrzymuję wartość:
global $wpdb;
$query = 'SELECT * FROM wp_options WHERE option_name = "myplugin_option1";
$result = $wpdb->get_results($query);
to zwraca mi wartość: „coś innego”
Na przykład ten Kod:
$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);
}
Po ten kod jest wykonywany, $ wynik będzie zawierał wartość:
Array
(
[0] => stdClass Object
(
[option_id] => 11752
[option_name] => myplugin_option1
[option_value] => something else
[autoload] => yes
)
)
Tak więc istnieje i ma wartość, ale get_option() zwraca false.
Mam ten problem tylko z 3 opcjami i tylko w jednej witrynie, w której zainstalowana jest moja wtyczka. Czy ktoś ma jakiś pomysł, dlaczego get_option() zwraca false nawet opcja jest w bazie danych i ma wartość "coś innego".
Jest wliczony w cenę, a funkcje wordpress działają poprawnie. Mam problem tylko z opcją 3, dla wszystkich innych działa dobrze. Dostaję opcje w jednej pętli i tylko te zawodzą. – carpics