Plugin.php: PHP Notice: Undefined offset: 0 in

I moved a WordPress site from one domain to another and there were a lot of white spaces that needed to be removed.

The only problem that is left are the following errors:

  • PHP Notice: Undefined offset: 0 in /home/linguist/public_html/test/wp-includes/plugin.php on line 767
  • PHP Notice: Undefined offset: 0 in /home/linguist/public_html/test/wp-includes/plugin.php on line 785

then further

PHP Warning: Cannot modify header information – headers already sent by (output started at /home/linguist/public_html/test/wp-includes/plugin.php:767)

Its all due to this code which hasn’t been changed at all but is creating errors.

if (is_object($function[0]) ) {
    // Object Class Calling
    if ( function_exists('spl_object_hash') ) {
        return spl_object_hash($function[0]) . $function[1];
    } else {
        $obj_idx = get_class($function[0]).$function[1];
        if ( !isset($function[0]->wp_filter_id) ) {
            if ( false === $priority )
                return false;
            $obj_idx .= isset($wp_filter[$tag][$priority]) ? count((array)$wp_filter[$tag][$priority]) : $filter_id_count;
            $function[0]->wp_filter_id = $filter_id_count;
            ++$filter_id_count;
        } else {
            $obj_idx .= $function[0]->wp_filter_id;
        }

        return $obj_idx;
    }
} else if ( is_string($function[0]) ) {
    // Static Calling
    return $function[0].$function[1];
}

}

Could someone please help me with this?

3 Answers
3

Some code on your site registers a filter or an action with invalid arguments. The errors you see happen, because add_action() or add_filter() was called with a second argument that is not a string, an object or an array.

Examples:

add_action( 'wp_head', NULL );
add_filter( 'the_content', -1 );

Disable all plugins, switch to Twenty Eleven, and re-enable everything until the errors comes back. Then find all calls to add_action() or add_filter().

Leave a Comment