Comment supprimer automatiquement un commentaire s'il contient une certaine chaîne?
j'ai essayé avec ça mais pas travaillé:
add_action( 'transition_comment_status', 'my_approve_comment_callback', 10, 3 );
function my_approve_comment_callback( $new_status, $old_status, $comment ) {
if (strpos($comment->comment_content, 'dog') !== false) {
wp_delete_comment( $comment->comment_ID, true );
}
}
J'ai aussi essayé avec:
wp_list_comments('callback=better_comment');
function better_comment($comment, $args, $depth) {
if (strpos($comment->comment_content, 'dog') !== false) {
wp_delete_comment( $comment->comment_ID, true );
}
}
Rien ne fonctionne = (
Il est préférable d'utiliser l'action 'comment_post' à cette fin, elle est déclenchée lorsque le commentaire est enregistré dans la base de données:
add_action('comment_post', 'my_comment_post_callback', 10, 3);
function my_comment_post_callback($comment_id, $comment_approved, $commentdata) {
if (strpos($commentdata['comment_content'], 'dog') !== false) {
$post_url = get_permalink($commentdata['comment_post_ID']);
wp_delete_comment($comment_id, true);
wp_redirect($post_url);
exit;
}
}