Errore: call_user_func_array() richiede che il parametro 1 sia una callback valida

3 ago 2013, 17:11:21
Visualizzazioni: 130K
Voti: 11

Ho riscontrato un problema dopo l'aggiornamento di WordPress alla versione 3.6. Di seguito gli errori che vengono visualizzati nel pannello di amministrazione WordPress ma non sul frontend del sito.

Warning: call_user_func_array() richiede che il parametro 1 sia una callback valida, la funzione 'regis_options' non è stata trovata o il nome della funzione non è valido in wp-includes/plugin.php alla riga 406

Warning: Impossibile modificare le informazioni dell'header - gli header sono già stati inviati da (output iniziato in wp-includes/plugin.php:406) in wp-includes/option.php alla riga 571

Warning: Impossibile modificare le informazioni dell'header - gli header sono già stati inviati da (output iniziato in wp-includes/plugin.php:406) in wp-includes/option.php alla riga 572

1
Commenti

Questo errore può anche derivare da una chiamata mal formattata a wp_register_widget_control

Hannah Hannah
7 ott 2020 00:13:12
Tutte le risposte alla domanda 5
1
14

Da qualche parte nel tuo tema o plugin c'è una riga simile a questa:

add_filter( 'something', 'regis_options' );

Potrebbe anche essere add_action(). Trova quel pezzo di codice e rimuovilo o correggilo.

Gli altri errori sono una conseguenza del primo. Il messaggio di errore stampato causa output e quindi intestazioni HTTP, quindi PHP/WP non può più inviare altre intestazioni. Scompariranno quando avrai corretto il primo errore.

3 ago 2013 17:25:37
Commenti

Ho risolto il problema: il plugin "WP Content Copy Protection" non è compatibile con WordPress 3.6. Ho disabilitato quel plugin e ORA FUNZIONA...

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

È solitamente causato da un filtro o un'azione non dichiarati correttamente.

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

La priorità deve essere al di fuori del parametro dell'array di callback. Questa modifica ha risolto il mio problema.

4 giu 2015 15:06:33
Commenti

Salute! Questo è esattamente il mio problema.

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

Ciao, prova questa soluzione:

Aggiungi questo in functions.php:

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

Aggiungi anche questo nel tuo 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 ott 2018 20:21:53
0

Ho inserito uno spazio alla fine della mia stringa di callback quando ho chiamato il filtro

add_filter( 'something', 'regis_options ' ); 

Invece di

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

Questo errore si verificherà anche quando si chiama una funzione che non esiste. Per risolverlo è necessario definire la funzione 'regis_options' prova qualcosa come

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