РЕДАКТИРОВАТЬ: я думаю, что моя путаница, вероятно, создается этим кодом в верхней части страницы, на которой я проверяю значение параметра ... Это создает ярлык для ссылки на параметр без использования get_option ('option') метод ...
global $options;
foreach ($options as $value) {
if (get_settings( $value['id'] ) === FALSE) {
$$value['id'] = $value['std'];
} else {
$$value['id'] = get_settings( $value['id'] );
}
}
И поэтому, когда я устанавливаю значение переменной $ myvar с помощью флажка, установленного на панели параметров моей темы, и нажимаю кнопку «Сохранить», а затем просматриваю мой файл options.php в worpdress, значение переменной равно
true
И когда я делаю поиск по этой переменной, используя
if($myvar == "true")
Проходит.
Однако, когда я устанавливаю значение напрямую через метод update_options (), вот так ...
$mvar = true;
update_option('myvar', $myvar);
Значение меняется с true на 1
И когда я делаю то же сравнение, что и раньше, если ($ myvar == "true"), это теперь не удается. Это больше не «правда».
Что мне не хватает? (1) почему "true" и 1, не оценивая то же самое, и (2) Что метод update_option делает со значением myvar, чтобы изменить значение с true на 1?