Error: call_user_func_array() espera que el parámetro 1 sea una callback válida

3 ago 2013, 17:11:21
Vistas: 130K
Votos: 11

Tengo un problema después de actualizar mi WordPress a la versión 3.6. A continuación se muestran los errores que aparecen en el panel de administración de WordPress, pero no en la parte frontal del sitio web.

Advertencia: call_user_func_array() espera que el parámetro 1 sea una callback válida, la función 'regis_options' no se encuentra o el nombre de la función no es válido en wp-includes/plugin.php en la línea 406

Advertencia: No se puede modificar la información del encabezado – los encabezados ya fueron enviados por (la salida comenzó en wp-includes/plugin.php:406) en wp-includes/option.php en la línea 571

Advertencia: No se puede modificar la información del encabezado – los encabezados ya fueron enviados por (la salida comenzó en wp-includes/plugin.php:406) en wp-includes/option.php en la línea 572

1
Comentarios

Este error también puede surgir de una llamada mal formada a wp_register_widget_control

Hannah Hannah
7 oct 2020 00:13:12
Todas las respuestas a la pregunta 5
1
14

En algún lugar de tu tema o plugins hay una línea como esta:

add_filter( 'something', 'regis_options' );

También podría ser add_action(). Encuentra ese fragmento de código y elimínalo o corrígelo.

Los otros errores son consecuencia del primero. El mensaje de error impreso genera salida y por lo tanto cabeceras HTTP, por lo que PHP/WP no puede enviar otras cabeceras después. Estos desaparecerán cuando soluciones el primer error.

3 ago 2013 17:25:37
Comentarios

Entendí el problema, el plugin "WP Content Copy Protection" no es compatible con WordPress 3.6. Lo he desactivado y ESO FUNCIONA...

Sufalamdev Sufalamdev
3 ago 2013 17:42:03
1
11
Warning: call_user_func_array()  

Suele ser causado por un filtro o una acción que no está declarado correctamente.

add_filter ( 'action_tag' , array( $this , 'my_callback' ) , 30 );

La prioridad debe estar fuera del parámetro de array de callback. Esto solucionó mi problema.

4 jun 2015 15:06:33
Comentarios

¡Salud! Este es exactamente mi problema.

Marty McGee Marty McGee
15 dic 2020 06:01:11
0

Hola, prueba esta solución:

Añade esto en functions.php:

function regis_options($args) {
   return $args;
}

También añade esto en tu 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;
}
8 oct 2018 20:21:53
0

Había dejado un espacio al final de mi cadena de callback al llamar al filtro

add_filter( 'something', 'regis_options ' ); 

En lugar de

add_filter( 'something', 'regis_options');
4 ene 2020 07:31:14
0

Este error también ocurrirá cuando llames a una función que no existe. Para solucionarlo necesitas definir la función 'regis_options' prueba algo como

function regis_options(){ 
echo 'test';
}
18 sept 2020 14:57:50