仅在404页上,收到通知:正在尝试获取随机数上非对象的属性

时间:2016-03-13 作者:Mailmulah

我正在使用WordPress插件。一切正常。Exect打开404页面时,我收到以下通知:

注意:正在尝试获取D:\\MYWEB\\InstantWP\\U 4.3.1\\iwpserver\\htdocs\\wordpress\\wp content\\plugins\\sama author review\\user rate中非对象的属性。php第49行

第49行如下所示:

\'nonce\' => wp_create_nonce(\'ajax-user-rate-nonce-\'. $post->ID)
代码如下:

/**
 * enqueue scripts used in frontend
 *
 */
function sama_enqueue_scripts() {
    global $post, $sama_author_review;

    $ajax_vars = array(
        \'url\' => admin_url( \'admin-ajax.php\' ),
        \'nonce\' => wp_create_nonce(\'ajax-user-rate-nonce-\'. $post->ID)
    );
    // see author-review.php
    wp_localize_script( \'review\', \'ajax_user_rate\', $ajax_vars );
}
是否有快速解决这些错误的方法?

1 个回复
最合适的回答,由SO网友:Pieter Goosen 整理而成

这个$post 全局未设置为on404 页,这将导致出现错误。

您可以检查

  • $post 已设置或

    如果当前页面是404页,则为BALL;或者

    执行上述所有操作

    示例

    /**
     * enqueue scripts used in frontend
     *
     */
    function sama_enqueue_scripts() {
         global $post, $sama_author_review;
    
        if ( !isset( $post ) )
            return;
    
         $ajax_vars = array(
             \'url\' => admin_url( \'admin-ajax.php\' ),
             \'nonce\' => wp_create_nonce(\'ajax-user-rate-nonce-\'. $post->ID)
         );
         // see author-review.php
         wp_localize_script( \'review\', \'ajax_user_rate\', $ajax_vars );
    }
    

    /**
     * enqueue scripts used in frontend
     *
     */
    function sama_enqueue_scripts() {
         global $post, $sama_author_review;
    
        if ( is_404() )
            return;
    
         $ajax_vars = array(
             \'url\' => admin_url( \'admin-ajax.php\' ),
             \'nonce\' => wp_create_nonce(\'ajax-user-rate-nonce-\'. $post->ID)
         );
         // see author-review.php
         wp_localize_script( \'review\', \'ajax_user_rate\', $ajax_vars );
    }
    

相关推荐

500 Internal Errors

我正在将当前的Eduma主题更新为最新版本(3.0.9.1),目前的版本是3.0.7。我正在运行WordPress 4.7.5。但是,在运行更新时,我得到Update Failed: Internal Server Error 安装过程中的消息。所以我启动了这个过程,它运行了一分钟,然后它就停止了工作,我陷入了维护模式。所以我必须手动删除.maintenance 来自我的服务器的文件。我截图了我在错误中看到的内容。我在WordPress网站上运行了调试模式,这就是我所拥有的[31-May-2017 15: