Wordpressのコメント欄を非表示にする方法、コメントを受け付けなくする無効化設定のまとめ。

2021-04-20

Wordpressコメント欄の非表示と無効化_eyecatch

Wordpressでコメント欄が不要、もしくは新規コメントをこれ以降受け付けたくない時の設定方法をまとめました。

コメントとコメント欄を非表示にしたり、既存コメントは表示しつつ新規コメントを受け付けなくする時にお役立てください。

既にコメントはあるか?ある場合既存のコメントは表示するのか?
また、保存しておくのか削除するかによってやり方が変わってきます。

コメント欄を非表示にする・無効にする方法

コメント機能を停止する方法として、以下の方法をご紹介します。

  1. Wordpressの設定で変更する方法
  2. functions.phpにコードを追記する方法
  3. プラグインを使う方法
  4. comment.phpを編集する方法

方法1.新規コメントを無効にし、入力欄を非表示にする。

コメントが1件もなく、コメント欄が不要な場合はWordpressの設定でコメント機能を無効にし、コメント欄も非表示にすることが出来ます。

既にコメントが入っている場合、既存のコメントは表示されます。
コメント入力欄には「コメントは受け付けていません。」と表示されます。

また、過去の記事についてはページごとに手動で設定しなければなりません。

方法2.方法1をfunctions.phpで実現する。

functions.phpにて一括で「コメントを許可しない設定」にする方法です。
方法1は過去記事にコメントの許可を設定していくのが面倒ですが、こちらはコードを追記するだけなので早いです。
方法1と同じで既存のコメントは表示されます。

方法3.既存コメント&コメント欄の両方を非表示にする。

サイトの運営歴が長く、既にコメントが入っておりそのコメントも非表示にしたい場合はプラグインを使う方法が一番楽です。
既存コメントとコメント入力欄の両方を非表示にできます。

方法4.プラグインレスで既存コメント&コメント欄を非表示にする。

テーマからコメントを表示するコードそのものを削除します。
プラグインレスで既存コメントとコメント入力欄の両方を非表示にできますが、テーマのアップデート時に戻ってしまうデメリットがあります。
(子テーマが使える場合はアップデート時の影響を無視できます。)

  • 方法1はコメント機能を一切使用しない場合にお勧め。
  • 方法2は過去記事が大量にあり方法1が面倒な場合にお勧め。
  • 方法3は既存コメントを保持し、コメントを非表示にしておく場合にお勧め。
  • 方法4はあまりオススメできませんが、特別な理由がある方はコチラで。

方法①管理画面でコメントを無効にする

まず方法1の新規コメントを無効にする方法です。
ページ(記事)ごとにコメントの許可を設定します。

Wordpressコメントを受け付けない設定_001

設定 > ディスカッション > デフォルトの投稿設定

新しい投稿に関しては管理画面から設定できるので簡単です。

Wordpressの設定からディスカッションに進みます。
「新しい投稿へのコメントを許可」のチェックを外し、設定を保存すればOKです。

これは今後作成する新規投稿の設定です。
過去に作成したページ(記事)のコメントは無効になりません。

スポンサーリンク

過去に作成したページのコメントを無効にする

過去に作成したページ(過去記事)でコメントを無効にするには、ページごとにコメントの許可を設定しなおす必要があります。

コメントの許可を個別に設定する方法

Wordpressコメントを受け付けない設定_002

投稿一覧>クイック編集

投稿一覧からコメントを無効にしたい記事のクイック編集を押す。

Wordpressコメントを受け付けない設定_003

コメントを許可のチェックを外す

「コメントを許可」のチェックを外し、更新を押せばOKです。
また、記事を書く画面でも設定が出来ます。

Wordpressコメントを受け付けない設定_004

ページ上の「表示オプション」を押せばメニューが出る

画面上部の「表示オプション」を開く。
「ディスカッション」にチェックを入れる。

Wordpressコメントを受け付けない設定_005

コメントの許可のON・OFFが出る

すると画面の下部に「コメントを許可」というチェックボタンが現れます。

コメントの許可を一括で設定する方法

過去記事を一括で選択して(20件ずつ)コメント許可を設定する方法です。

Wordpressコメントを受け付けない設定_006

投稿一覧>編集(プルダウン)

投稿一覧を開き、編集を押す。

Wordpressコメントを受け付けない設定_007

タイトルの横のチェックマークを押す

タイトルをクリックすれば画面に表示されている20記事が選択されます。

Wordpressコメントを受け付けない設定_008

全選択したら適用をクリック

適用を押す。

Wordpressコメントを受け付けない設定_009

コメントの設定を「許可しない」に変更する

コメントのタブを「許可しない」に変更する。
更新を押せばOKです。
これを過去記事全てに行いましょう…

方法②functions.phpでコメントを無効にする

過去記事全てのコメント許可を設定しなおすなんて無理!
という方もおられると思いますので、functions.phpにて全記事のコメント許可を「許可しない」にするコードを作りました。

function comments_invalid( $post_id ) {
    $post = get_post( $post_id );
    //投稿のコメント
    if( $post->post_type == 'post' ) {
        return false;}
    //固定ページのコメント
    if( $post->post_type == 'page' ) {
        return false;}
    //メディアのコメント
    if( $post->post_type == 'attachment' ) {
        return false;}
}
add_filter( 'comments_open', 'comments_invalid', 10 , 2 );

Wordpressのコメントの許可をチェックするcomments_open関数を使いました。
コメントが許可されていれば返り値がtrueになります。
コメントが許可されていない場合はfalseです。

ページの種類ごとに強制的にコメントが許可されていない状態にしてます。

コメント欄を有効にしておきたいページがある場合returnの値をtrueに変えてもらえれば、ページの種類で対応ができます。

コメントを許可していないページの動作

  • コメントがない→コメント欄&入力欄が非表示になる。
  • コメントがある→既存コメントは表示される。
  • 入力欄には「コメントは受け付けていません。」と表示される。
Wordpressコメントを受け付けない設定_010

コメントは受け付けていませんと出る

同時にコメントを全削除すると実質コメント機能を非表示にすることが可能です。

方法③プラグインでコメント欄を非表示にする

「Disable Comments」というプラグインを使用すれば簡単にコメント欄を非表示にすることが出来ます。
既存コメントのあるなしに関わらずコメント欄が非表示になります。

プラグインのインストールと有効化

管理画面左メニュー > プラグイン > 新規追加

に進み、検索ボックスに「Disable Comments」と入力する。

後は今すぐインストールを押し、有効化します。

プラグインの設定

Disable Commentsはコメント欄の非表示化とコメントの削除ができます。
非表示にするための設定を行いましょう。

プラグインを有効化すると、管理画面左側のメニューに「Disable Comments」が出ますのでコチラから設定します。

Wordpressコメント欄非表示_プラグイン使用004

Disable Commentsで全コメントを非表示にする

「どこでも」と書かれている部分にチェックを入れると全ページでコメント欄と既存コメントが非表示になります。

Wordpressコメント欄非表示_プラグイン使用005

コメントを非表示にするページを選択することも可能

「On Specific Post Types」でコメント欄を非表示にする個所の選択ができます。

非表示にしたい箇所を選択後、変更を保存を押せばコメント欄が非表示になります。

ここでは触れませんが、DELETE COMMENTSのタブでコメントの削除が可能です。

方法④comments.phpでコメント欄を非表示にする

Wordpressでコメント欄の表示を行うプログラムファイル「comments.php」を変更すればプラグインレスでコメント欄の非表示化が可能です。
コメント関連の表示をさせなくするにはプログラムをコメントアウトしてもOKですが、空にすればもっと早いです。

子テーマを使用している場合

comments.phpは、親テーマ内に入っているPHPファイルです。
子テーマが使用できるなら、親テーマ内のcomments.phpを編集しているとテーマのアップデート時に戻ってしまうので、子テーマ内に設置します。

Wordpressコメント欄非表示_PHPファイルの編集001

※子テーマ内に空のcomments.phpを設置する

コメント欄を非表示にしたいなら、中身が空っぽのcomments.phpを子テーマ内に入れてあげるだけでOKです!

注意ポイント

子テーマ内に始めからcomments.phpが存在する場合は必ずバックアップを取ってから行ってください。

少々乱雑ですが、これで親テーマがアップデートされてもコメント欄が復活することはありません。

子テーマがない場合

Wordpressのデフォルトテーマなど、子テーマが無いテンプレートを使っている方は方法1か方法2の方が良いかと思います。

一応親テーマのcomments.phpを空にすればコメント欄は非表示にできます。

Wordpressコメント欄非表示_PHPファイルの編集002

外観>テーマエディター>comments.php

外観からテーマエディターを開き、「コメント(comments.php)」を開いてコードを全部削除すればOKです。
コアファイルを触る方法であまり良くないので一応動作確認は取りました。

Wordpressコメント欄非表示結果001

コードが出力されなくなりコメントが非表示になる

僕が確認したところ問題はなさそうですが、テーマによって問題が出るかもしれませんのでこの方法を試す際はサイトの細部までご確認を!



まとめ

Wordpressのコメント欄を非表示にしたり、新規コメントを無効にする方法のまとめでした。

Wordpressの設定で「コメントを許可」のチェックを外しておく方法1が一番安全でプラグインに頼る必要もないので良さそうな気がします。
既存コメントを表示したくない場合はコメントを全部削除すればいいし。

ただ過去記事がとんでもなく多い場合は結構な作業時間を取られてしまいます…
そして万が一コメント欄を復活させたくなった時に地獄を見そうではありますが。

となってくればfunctions.phpを使う方法2が良いかも。
自分のサイトに合った方法でコメント欄を制限していただければと思います。

長文お付き合いありがとうございました。
なんだかんだ毎回大作になってしまいます・w・

-WordPress
-

site-logo
ありがとうございました!
良かったらシェアしてネ・w・
当サイトはピンバックを受け付けます。
  • この記事を書いた人
ザキ

ザキ

X:@sologaku

プログラミングに興味があり情報系の大学を卒業。

新卒で社会人になるも数年で退職し今はフリーランスとして生きています。

少しでも誰かの役に立てれば...と思い、当サイトでIT関係のハウツーを発信しています。


ソロ学運営者:ザキの自己紹介

© 2020 sologaku