【8/6まで】エックスサーバーで半額キャッシュバックキャンペーン実施中

WordPressのコメント欄を一括で非表示(無効)にする方法

WordPressのコメント欄を一括で非表示(無効)にする方法

当サイトはアフィリエイト広告を利用しています。

サイトのコメント欄は、読者とのコミュニケーションツールとして利用できますが、コメントへの対応が難しい場合や、悪質なコメントが目立つ場合は、ないほうが良いでしょう。

そこで今回は、WordPressのコメント欄を一括で非表示(無効)にする方法をご紹介します。

新規記事または既存記事あるいはその両方のコメント欄を一括で非表示にしたい方は必見です。

WordPressの新規記事のコメント欄を一括で非表示(無効)にする方法

新規記事、つまり今後投稿する記事のコメント欄を一括で非表示にするには、ディスカッションの設定を変更します。

まず「設定」⇒「ディスカッション」をクリックします。

「設定」メニュー

「デフォルトの投稿設定」という見出しにある「新しい投稿へのコメントを許可」のチェックを外し、一番下までスクロールして「変更を保存」ボタンをクリックします。これで新規記事のコメント欄が非表示になります。

「ディスカッション」画面

WordPressの既存記事のコメント欄を一括で非表示(無効)にする方法

既存記事、つまり投稿済みの記事のコメント欄を一括で非表示にするには、一括編集でコメントを許可しない設定にします。

まずコメント欄を非表示にしたい投稿タイプの一覧画面を表示します。投稿であれば「投稿」を、固定ページであれば「固定ページ」をクリックしましょう。

サイドメニュー

「タイトル」列の左側をチェックし、「一括操作」から「編集」を選択して「適用」ボタンをクリックします。

「投稿」画面
MEMO

一画面にすべての記事が表示されていない場合は、右上のほうにある「表示オプション」をクリック⇒「ページごとに表示する項目数」を記事数に合わせる⇒「適用」ボタンをクリックで、一画面にすべての記事が表示されるようにしましょう。

「コメント」の「許可しない」を選択して「更新」ボタンをクリックします。これで既存記事のコメント欄が非表示になります。

「一括編集」画面

WordPressの新規記事と既存記事の両方のコメント欄を一括で非表示(無効)にする方法

新規記事と既存記事の両方のコメント欄を一括で非表示にする方法には、以下のようなものがあります。

  • プラグイン「Disable Comment」を使う
  • functions.phpにコードを追加する

方法1:プラグイン「Disable Comments」を使う

Disable Commentsは、コメント欄の一括非表示やコメントの一括削除ができるプラグインです。

Disable Commentsを使う場合は、まず当該プラグインをインストール・有効化します。

インストール・有効化したら、「設定」⇒「Disable Comments」をクリックします。

「設定」メニュー

「コメントを無効化」タブをクリックし、すべてのコメント欄を非表示にしたい場合は「どこでも」を選択します。特定の投稿タイプのコメント欄を非表示にしたい場合は「特定の投稿タイプに対して」を選択したうえで、非表示にしたい投稿タイプにチェックを付けます。最後に下にスクロールして「変更を保存」ボタンをクリックしましょう。

「Disable Comments」画面
「Disable Comments」画面

これで新規記事と既存記事の両方のコメント欄が非表示になります。コメントが投稿されている場合はそのコメントも非表示になりますが、「コメントを無効化」タブの設定では非表示になるだけで削除はされないので、設定を元に戻せばコメントは再び表示されます。

方法2:functions.phpにコードを追加する

プラグインを使いたくない場合は、functions.phpにコメント欄を非表示にするコードを追加しましょう。

注意

functions.phpのカスタマイズは上級者向けです。カスタマイズに失敗するとサイトが真っ白になるなどの重大な問題が発生する場合があるので、カスタマイズする場合はあらかじめサイトのバックアップをとっておきましょう。

「外観」⇒「テーマファイルエディター」からfunctions.phpを開くか、FTPソフトでfunctions.phpを開き、ファイルの末尾(?>がある場合はその上)に以下のコードを追加して保存します。

// コメント欄を非表示にする
function disable_comments( $open, $post_id ) {
    $post = get_post( $post_id );
    // 投稿のコメント欄を非表示
    if( $post->post_type == 'post' ) {
        return false;
    }
    // 固定ページのコメント欄を非表示
    if( $post->post_type == 'page' ) {
        return false;
    }
    return false;
}
add_filter( 'comments_open', 'disable_comments', 10 , 2 );

これで新規記事と既存記事の両方のコメント欄が非表示になります。

WordPressの一部の記事でコメント欄を非表示(無効)にする方法

「コメント欄は基本的には表示して、一部の記事だけ非表示にしたい」という場合は、ディスカッション設定で新しい投稿へのコメントを許可する設定にし、さらにコメント欄を非表示にしたい記事だけ一括編集でコメントを許可しない設定にしましょう。

「ディスカッション」画面
「一括編集」画面

WordPressの一定期間経過した投稿のコメント欄を一括で非表示(無効)にする方法

「すべてのコメント欄ではなく、一定期間経過した投稿のコメント欄のみ一括で非表示にしたい」という場合は、ディスカッションの設定を変更します。

まず「設定」⇒「ディスカッション」をクリックします。

「設定」メニュー

「他のコメント設定」という見出しにある「◯日以上前の投稿のコメントフォームを自動的に閉じる」にチェックを付け、非表示の条件となる日数を入力し、一番下までスクロールして「変更を保存」ボタンをクリックします。

「ディスカッション」画面

たとえば「14」と入力した場合は、投稿されてから14日以上経過した投稿のコメント欄が一括で非表示になります。

WordPressのコメント欄を無効にしたのにコメントが消えないときの対処法

「コメント欄を無効にしたのにコメントが消えない」という場合、消えないのが「無効にする前に投稿した記事のコメント」であれば、ディスカッション設定の「新しい投稿へのコメントを許可」のチェックを外しただけで、設定を変更する以前に投稿した記事のコメントが「許可する」設定のままになっていることが原因と考えられます。

「新しい投稿へのコメントを許可」のチェックを外しても、コメント欄が非表示になるのは「これから投稿する記事」のみで、「設定以前に投稿した記事」については変わらず表示されます。コメントが消えていない記事を対象に、一括編集でコメントを「許可しない」に設定にしましょう。

「一括編集」画面

mono

たとえば「Hello world!」というサンプル記事は、ディスカッション設定を変更する前からあるものなので、設定を変更しただけではコメントは消えません。

WordPressのコメント欄はテーマの設定で非表示(無効)にできる場合も

WordPressのコメント欄は、テーマの設定で非表示にできる場合もあります。

たとえば「Cocoon」の場合は、「Cocoon設定」⇒「投稿」タブまたは「固定ページ」タブ⇒「コメントを表示する」のチェックを外す⇒「変更をまとめて保存」ボタンをクリックで、コメント欄を非表示にできます。なお、コメントが投稿されている場合はそのコメントも非表示になります。

「Cocoon設定」画面

今回ご紹介した方法でコメント欄を非表示にできない場合は、テーマ独自の設定メニューや、「外観」⇒「カスタマイズ」などから、それらしい設定項目がないか探してみましょう。

設定項目が見つからない場合は、テーマの公式マニュアルか、「テーマ名 コメント欄 非表示」などの検索キーワードで情報を探してみてください。

まとめ

今回は、WordPressのコメント欄を一括で非表示(無効)にする方法をご紹介しました。

新規記事のコメント欄を非表示にしたい場合は、「新しい投稿へのコメントを許可」のチェックを外し、既存記事のコメント欄を非表示にしたい場合は、一括編集でコメントを「許可しない」設定にします。両方の記事でコメント欄を非表示にしたい場合は、プラグイン「Disable Comments」を使うか、functions.phpにコードを追加すると良いでしょう。

お使いのテーマによってはテーマの設定で非表示にできる場合があるので、独自の設定メニューやカスタマイズ画面などで設定項目がないか探してみてください。