如何在“从空值创建默认对象”错误中定义值

时间:2013-09-17 23:22:37

标签: php wordpress warnings

我对此有很多疑问,我尝试阅读但仍然在我的Wordpress上收到此错误消息:

“在第225行的/home/forthemde/public_html/wp-content/themes/mayadeep/admin/admin.php中从空值创建默认对象”

此处的代码位于admin.php和:

 function upfw_setup_theme_options(){
     $up_options_db = get_option('up_themes_'.UPTHEMES_SHORT_NAME);
     global $up_options;
     //Check if options are stored properly
     if( isset($up_options_db) && is_array($up_options_db) ):
         //Check array to an object
         foreach ($up_options_db as $k => $v) {
                 $up_options -> {$k} = $v;
         }
     else:
         do_action('upfw_theme_activation');
     endif;
 }
 add_action('upfw_theme_init','upfw_setup_theme_options',10);
 add_action('upfw_admin_init','upfw_setup_theme_options',100);

第225行在这里:

 $up_options -> {$k} = $v;

我试着自己解决,但没有结果。请帮助我,非常感谢您的帮助。

问候。

1 个答案:

答案 0 :(得分:0)

此错误是因为未定义全局对象global $up_options

尝试var_dump $up_options,它可能为空。

同时检查您是否正确拼写了变量名称。

运行此代码,并检查输出:

function upfw_setup_theme_options(){
     $up_options_db = get_option('up_themes_'.UPTHEMES_SHORT_NAME);
     global $up_options;

 $up_options = new stdClass();

     //Check if options are stored properly
     if( isset($up_options_db) && is_array($up_options_db) ):
         //Check array to an object
         foreach ($up_options_db as $k => $v) {
                 $up_options -> {$k} = $v;
         }
     else:
         do_action('upfw_theme_activation');
     endif;
 }
 add_action('upfw_theme_init','upfw_setup_theme_options');
 add_action('upfw_admin_init','upfw_setup_theme_options');