コメントパーツを削除してもスパムが届く場合の対処方法

WordPressのコメント投稿はcomments_post.phpから投稿されるため、単にテンプレートからcomments_template()を削除するだけではコメント機能が無効にならないそうです。

コメント機能自体を無効化するにはcomments_openフィルターを使い、第一仮引数にfalseを代入してreturnで値を返します。

全投稿で停止

固定ページから投稿タイプを選ばず、すべてのコメントが無効化されます。これには、独自で追加したカスタム投稿タイプも含まれます。


function add_comment_close($open) {
    $open = false;
    return $open;
}
add_filter('comments_open', 'add_comment_close');

固定ページのコメント無効化

通常記事はコメントが必要だけども、固定ページではコメントいらないやという場合は以下のコードで固定ページのコメント機能自体を無効化できます。

投稿タイプがpageの場合にfalseを代入してコメントをOFFにしているだけです。


function add_comment_close($open, $post_id) {
    $post = get_post($post_id);
    if ($post && $post->post_type == 'page') {
        $open = false;
    }
    return $open;
}
add_filter('comments_open', 'add_comment_close', 10, 2);

同じように、カスタム投稿のみや特定カテゴリのみだけでコメントを無効化ということも可能です。必要な(許可したい)投稿のみコメントをONにすれば、可能な限りスパムの数を減らすことができるでしょう。

コメントする




20 − 17 =