PHP продолжает давать следующее - PullRequest
0 голосов
/ 06 декабря 2010
Warning: Invalid argument supplied for foreach() in /Applications/MAMP/htdocs/europeiska/wp-content/themes/europeiska/get-theme-options.php on line 4

Это правильный код для Wordpress для получения этой информации, почему PHP выкладывает это?

<?php
//allows the theme to get info from the theme options page
global $options;
foreach ($options as $value) {
    if (get_option( $value['id'] ) === FALSE) { $$value['id'] = $value['std']; }
    else { 
        $$value['id'] = get_option( $value['id'] ); 
    }    
}

?>

Ответы [ 3 ]

1 голос
/ 06 декабря 2010

Проблема в том, что $ options будет иметь нулевое значение, т. Е. Ему будут установлены любые данные любого вида.

1 голос
/ 06 декабря 2010

Вероятно, $options нигде не определено.

0 голосов
/ 07 декабря 2010

Я не уверен, почему вы пытаетесь это сделать. Если вы пытаетесь просмотреть все варианты, попробуйте эту страницу: http://domain.com/wp-admin/options.php в вашей установке WordPress или посмотрите в базе данных.

Если речь идет о доступе к определенной опции, почему бы просто не использовать get_option ()?

Я не думаю, что переменная $ options - это естественная переменная в wordpress, поэтому вы должны быть уверены, что определили ее самостоятельно перед запуском foreach.

Чтобы избежать этой ошибки, если вы не уверены, что $ options всегда будут определены, добавьте быструю проверку прямо перед ней:

global $options;
if (is_array($options)) foreach ($options as $value) {
    if (get_option( $value['id'] ) === FALSE) { $$value['id'] = $value['std']; }
    else { 
        $$value['id'] = get_option( $value['id'] ); 
    }    
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...