php继续提供以下内容

时间:2010-12-06 09:55:07

标签: php wordpress wordpress-theming

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

&GT;

3 个答案:

答案 0 :(得分:1)

可能$options未在任何地方定义。

答案 1 :(得分:1)

问题是$ options将是一个空值,即它已经获得了任何类型的任何数据。

答案 2 :(得分:0)

我不确定你为什么要这样做。如果您正在尝试查看所有选项,请尝试在您的wordpress安装页面上查看http://domain.com/wp-admin/options.php或查看数据库。

如果是访问特定选项的问题,为什么不坚持使用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'] ); 
    }    
}