Error: call_user_func_array() expects parameter 1 to be a valid callback
Domanda
I have issue after upgrading my wordpress to 3.6 see below for errors which displays on wordpress admin panel not on front of website.
Warning: call_user_func_array() expects parameter 1 to be a valid callback, function ‘regis_options’ not found or invalid function name in wp-includes/plugin.php on line 406
Warning: Cannot modify header information – headers already sent by (output started at wp-includes/plugin.php:406) in wp-includes/option.php on line 571
Warning: Cannot modify header information – headers already sent by (output started at wp-includes/plugin.php:406) in wp-includes/option.php on line 572
Soluzione
Somewhere in your theme or plugins is a line like this:
add_filter( 'something', 'regis_options' );
Could also be add_action()
. Find that piece of code and remove or fix it.
The other errors are a result of the first one. The printed error message causes output and hence HTTP headers, so PHP/WP cannot send other headers anymore. They will go away when you fix the first error.
Altri suggerimenti
Warning: call_user_func_array()
It is usually caused by a filter or an action not properly declared.
add_filter ( 'action_tag' , array( $this , 'my_callback' ) , 30 );
The priority must be outside the callback array parameter. this fixed my issue.
Hi try this solution :
Add this in functions.php:
function regis_options($args) {
return $args;
}
Also add this in your class-wp-hook.php:
public function regis_options($args) {
echo '<pre>' . var_export($args, true) . '</pre>';
echo '<pre>' . var_dump(debug_backtrace()) . '</pre>';
return $args;
}
I had put a space at the end on my call back string on calling the filter
add_filter( 'something', 'regis_options ' );
Instead of
add_filter( 'something', 'regis_options');
This error will also happen when you call for a function that does not exist. to solve it you need to define the 'regis_options' function try something like
function regis_options(){
echo 'test';
}