PHP Notice: Undefined offset: 0

I have errors in WordPress:

PHP Notice: Undefined offset: 0 in /home/userpro/public_html/wp-content/themes/hoon/inc/tweaks.php on line 602

PHP Notice: Trying to get property of non-object in /home/userpro/public_html/wp-content/themes/hoon/inc/tweaks.php on line 602

Code:

/**
 * 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' );

Topic notices Wordpress

Category Web


The first error message is for undefined variable which you used $request[0] and second one is for $request is not a object so you cannot use as object.

I suggest you that use below code and check what you missed:

$request = $wpdb->get_results( $wp_query->request );
print('<pre>');
print_r($request);
print('</pre>'); exit;

Above code shows what $request contains.

Let me know if you face any query regarding this OR require more help.


If $wp_query->post_count == 0 I cant see how $wpdb->get_results( $wp_query->request ) would return any posts. So basically

$request = $wpdb->get_results( $wp_query->request );

contains nothing and $request[0] doesn't exist. Ergo

PHP Notice: Undefined offset: 0

It would be interesting to know, what this could is supposed to achieve.

About

Geeks Mental is a community that publishes articles and tutorials about Web, Android, Data Science, new techniques and Linux security.