“Trying to get properties on a non-object” in PHP

前端 未结 4 1927
一向
一向 2021-01-05 10:43

I\'m a WordPress theme developer and on a theme I\'m working on, I\'ve turned on debug mode and get this error inside a select drop-down box for the theme\'s options page. <

4条回答
  •  忘掉有多难
    2021-01-05 10:56

    You're doing this a couple of times:

    $option->someproperty
    

    In at least one of the cases $option is not an object. When you then do -> on a non-object, you get that error.

    First, verify that $option is actually an object and correct the usage if it is not.

    If $option is an array then @matthewpavkov is correct, you should do $option['someproperty'] instead of $option->someproperty.

    If $option is usually an object, perhaps get_categories() is sometimes returning null or false in a failure condition. Check for that before accessing $option.

    Like so:

    foreach ($value['options'] as $option)
    {
        if ($option)
        {
            // do whatever;
        }
    }
    

提交回复
热议问题