web-dev-qa-db-fra.com

Comment remplacer wp_insert_comment ()

J'essaie de remplacer wp_insert_comment() (wp-includes/comment.php). J'ai ajouté les lignes de code suivantes dans mon fichier functions.php, situé dans mon thème:

add_filter('wp_insert_comment', 'my_insert_comment');
function my_insert_comment($commentdata)
{
     /* Some stuff */
}


Voici une ligne trouvée dans la fonction wp_insert_comment () d'origine:

function wp_insert_comment($commentdata)
{
    /* Some stuff */
    do_action('wp_insert_comment', $id, $comment);
    return $id;
}

Après de nombreux tests, j'ai le sentiment que la vraie wp_insert_comment() est exécutée, et quand il s'agit de la ligne do_action(), mon filtre est pris en compte et ma fonction my_insert_comment() est finalement exécutée.


Bien entendu, mon but est de remplacer la fonction originale par la mienne. my_insert_comment() fonctionne correctement si je l’écris directement dans le fichier comments.php, mais j’aimerais le conserver update-proof .

Est-ce que je fais quelque chose de mal ?

1
Pierre Espenan

Vous ne pouvez pas l'ignorer, car cette fonction n'est pas connectable et fait partie de WP core. Tout ce que vous pouvez faire est d'ajouter votre point d'ancrage pour l'action wp_insert_comment, comme vous l'avez réellement fait.

0
Eugene Manuilov