2010-12-06 84 views
0
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继续给出以下内容

<?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']); 
    }  
} 

?>

回答

1

问题是$ options将是一个空值,即它已经得到任何排序设置的任何数据。

0

我不知道你为什么要这样做。如果您正在尝试查看所有选项,请尝试以下页面:http://domain.com/wp-admin/options.php on wordpress install或查看数据库。

如果是访问特定选项的问题,为什么不坚持使用get_option()?

我不认为“$ options”是wordpress中自然定义的变量,所以您需要确保在运行foreach之前自己定义它。

办法避免的错误,如果你不知道,如果$选项会一直被定义为前右它添加一个快速检查:

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']); 
    }  
}