特定の文字列が含まれている場合にコメントを自動削除する方法
私はこれで試したが動作しません:
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 );
}
}
私も試してみました:
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 );
}
}
何もしない=(
この目的のために 'comment_post'アクションを使用することをお勧めします。コメントがデータベースに保存されたときに発生します。
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;
}
}