J'essaie d'appeler une fonction après l'enregistrement d'un commentaire dans la base de données, voir ci-dessous ...
add_action('comment_post', 'myFunction', 10, 2);
do_action('comment_post', $comment_ID, $comment_approved);
J'ai placé ce code dans mon fichier comments.php
. myFunction
est défini dans functions.php
et est affiché ci-dessous
function myFunction($comment_ID, $comment_approved){
Analytics::track('Posted comment!');
}
Le problème est que cette fonction est appelée chaque fois qu'une page contenant le formulaire de commentaire est chargée, pas seulement lorsqu'un commentaire est posté ...
Des idées sur pourquoi cela se produit ???
J'imagine qu'un moyen de contourner le problème pourrait être d'appeler la fonction au chargement de la page uniquement lorsque la page est chargée à partir de wp-comments-post.php
, mais je ne sais pas par où commencer pour essayer d'y parvenir ...
Toute aide est appréciée!
Votre action est appelée à chaque chargement de comments.php
parce que vous l'exécutez explicitement avec do_action
. La fonction et add_action
doivent être dans functions.php
, et do_action
doit être entièrement supprimé.