過去の投稿のコメント入力を一定期間後に自動で受け付けないようにする方法

Cocoonカスタマイズ集
この記事は約2分で読めます。
記事内に広告が含まれています。

はじめに

ブログを長期間運営していると、過去の古い記事に対してスパムコメントが届きやすくなります。

そこで、公開から指定した日数が経過した記事のコメント入力を自動で受け付けない状態に切り替えます。

この記事では、この方法について説明します。

実装手順

以下のコードをfunctions.phpに追加します。

add_filter('comments_open', function ($open, $post_id) {
  // コメント入力を閉じる経過日数
  $days_to_close = 30;

  if ($open) {
    $post = get_post($post_id);

    if ($post && $post->post_type === 'post') {
      $post_date   = strtotime($post->post_date);
      $cutoff_date = time() - ($days_to_close * DAY_IN_SECONDS);

      // 設定した日数を超えている場合
      if ($post_date < $cutoff_date) {
        $open = false;
      }
    }
  }

  return $open;
}, 10, 2);

さいごに

今回紹介した方法を使えば、過去の古い記事に対するスパムコメントに悩まされることなく、自動で安全にコメントの受付を終了させることができます。
一度コードを設定してしまえば、日々の管理の手間を大幅に削減し、本当に手をかけるべき新しい記事の執筆やサイトの運営に集中できるようになります。

タイトルとURLをコピーしました