web-dev-qa-db-fra.com

Erreur: call_user_func_array () s'attend à ce que le paramètre 1 soit un rappel valide

J'ai un problème après la mise à niveau de mon wordpress vers la version 3.6. Voir ci-dessous pour les erreurs qui s'affichent sur le panneau d'administration de wordpress et non sur l'avant du site Web.

Avertissement: call_user_func_array () s'attend à ce que le paramètre 1 soit un rappel valide, la fonction ‘regis_options’ n’a pas été trouvée ou un nom de fonction non valide dans wp-includes/plugin.php à la ligne 406.

Avertissement: impossible de modifier les informations d'en-tête - en-têtes déjà envoyés par (sortie démarrée sur wp-includes/plugin.php: 406) dans wp-includes/option.php à la ligne 571

Avertissement: impossible de modifier les informations d'en-tête - en-têtes déjà envoyés par (sortie démarrée sur wp-includes/plugin.php: 406) dans wp-includes/option.php à la ligne 572

4
Sufalamdev

Quelque part dans votre thème ou vos plugins se trouve une ligne comme celle-ci:

add_filter( 'something', 'regis_options' );

Pourrait aussi être add_action(). Trouvez ce morceau de code et supprimez-le ou corrigez-le.

Les autres erreurs sont le résultat de la première. Le message d'erreur imprimé génère une sortie et donc des en-têtes HTTP. Par conséquent, PHP/WP ne peut plus envoyer d'autres en-têtes. Ils disparaîtront lorsque vous corrigez la première erreur.

3
fuxia
Warning: call_user_func_array()  

cela est généralement causé par un filtre ou une action mal déclarée.

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

La priorité doit être en dehors du paramètre de tableau de rappel. cela a résolu mon problème.

4
sohan

Salut essayer cette solution:

Ajoutez ceci dans functions.php:

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

Ajoutez également ceci dans votre classe-wp-hook.php:

public function regis_options($args) {
echo '<pre>' . var_export($args, true) . '</pre>';
echo '<pre>' . var_dump(debug_backtrace()) . '</pre>';
return $args;
}
1
Taoufik