global 和 array 一起使用, 属性 of non-object

Using global and array together, property of non-object

解决了,解决方法在这个post

下面

自从我将 wordpress 4.9.1 更新到 4.9.2 后,我得到了:

注意:尝试在 /url 中获取非对象的 属性:第 4 行的 eval() 代码

该脚本仍然有效,但我想删除该通知。 这是我正在使用的脚本,该数组定义了应该禁用可视化编辑器的 post ID:

add_filter( 'user_can_richedit', 'disable_my_richedit' );
function disable_my_richedit( $default ) {
    global $post;
    if ( in_array( $post->ID, array(19909,20148,20150) ) )
        return false;
    return $default;
}

我试过这个:

$post = array(19909,20148,20150);
global $post;
if ( in_array( $post->ID ));

但信息保持不变。 如何在不出现此错误的情况下一起使用 global 和 array() ? 如果脚本试图获取 none 对象的 属性,为什么它仍然有效? 我是编码新手,所以我很想知道出了什么问题。

已修复

解法:

在此处找到解决方案: 代码现在看起来像这样:

add_filter( 'user_can_richedit', 'disable_my_richedit' );
function disable_my_richedit( $default ) {
    global $post;
    if(!empty($post)){
        if ( in_array( $post->ID, array(19909,20148,20150) ) )
        return false;
        return $default;
    }
}

所以它会查看 $post 是否为空,如果为空则跳过它。