PHP通知:未定义的偏移量:0

时间:2015-07-31 作者:Gravitation

我在WordPress中有错误:

PHP注意:未定义的偏移量:0 in/home/userpro/public\\u html/wp-content/themes/hoon/inc/tweaks。php在线602

PHP注意事项:尝试在/home/userpro/public\\u html/wp-content/themes/hoon/inc/tweaks中获取非对象的属性。php在线602

代码:

/**
 * Display Future Posts
 *
 * Display future post in the events category to all users.
 */
function hoon_show_all_future_posts( $posts ) {

    global $wp_query, $wpdb;

    if ( is_single() && $wp_query->post_count == 0 ) {
        $events_cat = hoon_option( \'events_category\' );
        $request = $wpdb->get_results( $wp_query->request );
        /* Line 602 bellow  */  
        if ( post_is_in_descendant_category( $events_cat, $request[0]->ID ) || in_category( $events_cat, $request[0]->ID ) ) {
            $posts = $request;
        }
    }
    return $posts;
}
add_filter( \'the_posts\', \'hoon_show_all_future_posts\' );

2 个回复
SO网友:websupporter

如果$wp_query->post_count == 0 我不知道怎么做$wpdb->get_results( $wp_query->request ) 将返回任何帖子。所以基本上

$request = $wpdb->get_results( $wp_query->request );
不包含任何内容,并且$request[0] 不存在。因此

PHP Notice: Undefined offset: 0
很有意思的是,知道这能实现什么。

SO网友:AddWeb Solution Pvt Ltd

第一条错误消息针对您使用的未定义变量$request[0] 第二个是$request 不是对象,因此不能用作对象。

我建议您使用以下代码并检查您遗漏的内容:

$request = $wpdb->get_results( $wp_query->request );
print(\'<pre>\');
print_r($request);
print(\'</pre>\'); exit;
上面的代码显示了什么$request 包含。

如果您对此有任何疑问或需要更多帮助,请告诉我。

结束

相关推荐

重定向期间忽略自定义ADMIN_NOTICES消息

我在中设置了错误处理机制one of my plugins 向管理区域添加通知和错误,就像核心一样。它在大多数情况下都能正常工作,但在某些情况下(如保存自定义帖子类型)却不能正常工作。我猜重定向是在幕后发生的,消息是在重定向发生之前打印的,因此它们似乎永远不会出现。所以,我猜这就是发生的事情用户编辑自定义帖子类型并点击Publish(发布)调用My post\\u updated(我的帖子更新)回调,该回调验证并保存自定义字段。回调添加错误消息。Wordpress重定向到某个页面以进行某些处理。调用My