【问题标题】:How to define a value on "Creating default object from empty value" error如何在“从空值创建默认对象”错误中定义值
【发布时间】:2013-09-17 23:22:37
【问题描述】:

我知道很多关于此的问题,我尝试阅读,但在我的 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;

我尝试自己修复,但没有结果。请帮助我,非常感谢您的帮助。

问候。

【问题讨论】:

    标签: php wordpress warnings


    【解决方案1】:

    这个错误是因为全局对象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');
    

    【讨论】:

    • 感谢 MortalViews。不幸的是,我不熟悉代码。我怎样才能 var_dump $up_options?请帮忙。非常感谢您的帮助。
    • 谢谢,凡人。我试过但不幸的是没有工作。我的页面变成空白,只显示一个文本“NULL”。错误代码在第 225 行:$up_options -> {$k} = $v;
    • 是的,这就是 exit(); 'null' 表示 $up_option 对象未定义。这是问题。您需要确保在使用之前创建了全局对象。 var_dump,exit 用于调试。你应该从你的实际代码中删除它,它不是一个修复。
    • 当我删除 exit();我收到此通知:NULL 警告:在第 233 行从 C:\xampp-PHPBARU\apps\wordpress\htdocs\wp-content\themes\forthemde\admin\admin.php 中的空值创建默认对象
    • 该错误是因为对象 $up_option 具有空值。您不能调用“空”对象的属性。
    猜你喜欢
    • 2019-01-15
    • 2016-10-11
    • 2013-09-15
    • 2017-01-22
    • 1970-01-01
    • 2013-09-29
    • 1970-01-01
    • 2023-03-11
    • 2021-02-22
    相关资源
    最近更新 更多