Page 1 sur 1
Erreur Warning: call_user_func(wpex_comments_output)
Posté : 07 mai 2014, 01:11
par Julien_UCDM
Bonjour,
J'ai récemment changé de theme wordpress pour mon site, et j'ai maintenant le message d'erreur suivant au dessus des commentaires :
Warning: call_user_func(wpex_comments_output) [function.call-user-func]: First argument is expected to be a valid callback in /homez.312/unecarte/www/wp-includes/comment-template.php on line 1694
Par exemple ici :
http://www.unecartedumonde.fr/2014/04/l ... -en-ligne/
J'ai des notions de base en PHP (mais ca remonte à loin), mais du coup je ne sais vraiment pas par ou commencer et à quoi ca pourrait être du. Si quelqu'un peut m'aider ca serait cool

Re: Erreur Warning: call_user_func(wpex_comments_output)
Posté : 07 mai 2014, 01:22
par moogli
Salut,
Ligne 1694 du fichier comment-template.php il y a l'utilisation de la fonction
call_user_func qui prend en premier paramètre le nom d'une fonction (dite de rappel).
Or dans ton cas ce premier paramètre ne contient pas de nom valide.
En clair la fonction que tu essai d'utiliser ne correspond pas a ce que call_user_func attent (existe t'elle ?, les paramètres sont correçts ? Etc)
Sans code on ne pas vraiment t'aider et peux être que le plus simple c'est de voir avec l'auteur du thème pour qu'il t'aide a corriger le tir.
@+
Re: Erreur Warning: call_user_func(wpex_comments_output)
Posté : 08 mai 2014, 15:24
par Julien_UCDM
Salut,
Merci pour ta réponse.
Effectivement, voici le bout de code vers la ligne 1694 :
Code : Tout sélectionner
function start_el( &$output, $comment, $depth = 0, $args = array(), $id = 0 ) {
$depth++;
$GLOBALS['comment_depth'] = $depth;
$GLOBALS['comment'] = $comment;
if ( !empty( $args['callback'] ) ) {
ob_start();
call_user_func( $args['callback'], $comment, $args, $depth );
$output .= ob_get_clean();
return;
}
Ca va être difficile pour moi de contacter l'auteur du theme, donc si je pouvais m'en sortir tout seul (ou plutot, avec votre aide

) ca serait cool.
Comment est ce que je peux vérifier si la fonction en question existe, et si les paramètres sont correctes?
Je peux transmettre le code entier du fichier (environ 2000 lignes quand même...) si besoin.
Re: Erreur Warning: call_user_func(wpex_comments_output)
Posté : 08 mai 2014, 17:05
par xTG
Recherches dans le code la fonction wpex_comments_output.
Vois si le fichier qui la contient est inclus lors de l'appel à la fonction start_el.
Je dirai qu'il n'est pas inclus vu le message d'erreur.

Re: Erreur Warning: call_user_func(wpex_comments_output)
Posté : 08 mai 2014, 17:33
par Julien_UCDM
Je viens de regarder dans le fichier comment-template.php, et la fonction wpex_comments_output n'est pas trouvée quand je fais un ctrl+F.
J'en déduis qu'il faut que j'ajoute cette fonction à mon fichier ?
J'ai trouvé ceci :
https://github.com/coderless/wordpress- ... output.php
Est ce que c'est bien ce bout de code que je dois ajouter? Si oui, ou exactement?
Julien
Re: Erreur Warning: call_user_func(wpex_comments_output)
Posté : 08 mai 2014, 17:51
par xTG
Je donne ma langue au chat j'ai oublié ma boule de cristal...

Recherches la fonction dans toute ton installation wordpress et non uniquement dans ce fichier.
Si tu ne la trouves pas c'est que tu n'as pas tous les fichiers pour ce thème.
Ou bien que ce thème n'est pas compatible avec ta version de Wordpress.
Re: Erreur Warning: call_user_func(wpex_comments_output)
Posté : 08 mai 2014, 18:26
par Julien_UCDM
Alors, j'ai retrouvé la fameuse fonction dans un fichier comments.php :
Code : Tout sélectionner
<div class="comment-list">
<?php wp_list_comments( array( 'callback' => 'wpex_comments_output' ) ); ?><br />
</div><!-- /commentlist -->
Donc maintenant il faut que je vois si ce fichier comments.php est inclus lors de l'appel à la fonction start_el.
Est ce que tu peux me détailler un peu plus ce que je dois faire la? Je suis allé voir dans comments.php si je retrouvais un trace de start_el, mais ca n'est pas le cas.
Re: Erreur Warning: call_user_func(wpex_comments_output)
Posté : 08 mai 2014, 20:28
par xTG
Ce n'est pas la fonction ça.
Une déclaration de fonction en PHP c'est ça :
function nomDeMaFonction($unParametre, $unSecondPArametre)
{
}
Donc :
function wpex_comments_output(...
Re: Erreur Warning: call_user_func(wpex_comments_output)
Posté : 08 mai 2014, 22:19
par Julien_UCDM
Il n'y a aucun moyen de savoir dans quel fichier elle pourrait etre définie cette fonction ? Parce que la il y'en a des centaines a ouvrir sinon, non ?
Re: Erreur Warning: call_user_func(wpex_comments_output)
Posté : 08 mai 2014, 23:43
par Julien_UCDM
Bon du coup un ami m'a arrangé ca, je ne saurais trop vous expliquer ce qu'il à fait mais ca fonctionne maintenant!

Re: Erreur Warning: call_user_func(wpex_comments_output)
Posté : 09 mai 2014, 10:26
par xTG
Il n'y a aucun moyen de savoir dans quel fichier elle pourrait etre définie cette fonction ? Parce que la il y'en a des centaines a ouvrir sinon, non ?
N'importe quel système d'exploitation sait faire de la recherche dans les fichiers texte, donc aucunement besoin de les ouvrir un à un.
