Wordpressでコメント欄が不要、もしくは新規コメントをこれ以降受け付けたくない時の設定方法をまとめました。
コメントとコメント欄を非表示にしたり、既存コメントは表示しつつ新規コメントを受け付けなくする時にお役立てください。
既にコメントはあるか?ある場合既存のコメントは表示するのか?
また、保存しておくのか削除するかによってやり方が変わってきます。
この記事の目次
コメント欄を非表示にする・無効にする方法
コメント機能を停止する方法として、以下の方法をご紹介します。
- Wordpressの設定で変更する方法
- functions.phpにコードを追記する方法
- プラグインを使う方法
- comment.phpを編集する方法
方法1.新規コメントを無効にし、入力欄を非表示にする。
コメントが1件もなく、コメント欄が不要な場合はWordpressの設定でコメント機能を無効にし、コメント欄も非表示にすることが出来ます。
既にコメントが入っている場合、既存のコメントは表示されます。
コメント入力欄には「コメントは受け付けていません。」と表示されます。
また、過去の記事についてはページごとに手動で設定しなければなりません。
方法2.方法1をfunctions.phpで実現する。
functions.phpにて一括で「コメントを許可しない設定」にする方法です。
方法1は過去記事にコメントの許可を設定していくのが面倒ですが、こちらはコードを追記するだけなので早いです。
方法1と同じで既存のコメントは表示されます。
方法3.既存コメント&コメント欄の両方を非表示にする。
サイトの運営歴が長く、既にコメントが入っておりそのコメントも非表示にしたい場合はプラグインを使う方法が一番楽です。
既存コメントとコメント入力欄の両方を非表示にできます。
方法4.プラグインレスで既存コメント&コメント欄を非表示にする。
テーマからコメントを表示するコードそのものを削除します。
プラグインレスで既存コメントとコメント入力欄の両方を非表示にできますが、テーマのアップデート時に戻ってしまうデメリットがあります。
(子テーマが使える場合はアップデート時の影響を無視できます。)
- 方法1はコメント機能を一切使用しない場合にお勧め。
- 方法2は過去記事が大量にあり方法1が面倒な場合にお勧め。
- 方法3は既存コメントを保持し、コメントを非表示にしておく場合にお勧め。
- 方法4はあまりオススメできませんが、特別な理由がある方はコチラで。
方法①管理画面でコメントを無効にする
まず方法1の新規コメントを無効にする方法です。
ページ(記事)ごとにコメントの許可を設定します。
新しい投稿に関しては管理画面から設定できるので簡単です。
Wordpressの設定からディスカッションに進みます。
「新しい投稿へのコメントを許可」のチェックを外し、設定を保存すればOKです。
これは今後作成する新規投稿の設定です。
過去に作成したページ(記事)のコメントは無効になりません。
過去に作成したページのコメントを無効にする
過去に作成したページ(過去記事)でコメントを無効にするには、ページごとにコメントの許可を設定しなおす必要があります。
コメントの許可を個別に設定する方法
投稿一覧からコメントを無効にしたい記事のクイック編集を押す。
「コメントを許可」のチェックを外し、更新を押せばOKです。
また、記事を書く画面でも設定が出来ます。
画面上部の「表示オプション」を開く。
「ディスカッション」にチェックを入れる。

コメントの許可のON・OFFが出る
すると画面の下部に「コメントを許可」というチェックボタンが現れます。
コメントの許可を一括で設定する方法
過去記事を一括で選択して(20件ずつ)コメント許可を設定する方法です。
投稿一覧を開き、編集を押す。
タイトルをクリックすれば画面に表示されている20記事が選択されます。
適用を押す。
コメントのタブを「許可しない」に変更する。
更新を押せば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に変えてもらえれば、ページの種類で対応ができます。
コメントを許可していないページの動作
- コメントがない→コメント欄&入力欄が非表示になる。
- コメントがある→既存コメントは表示される。
- 入力欄には「コメントは受け付けていません。」と表示される。
同時にコメントを全削除すると実質コメント機能を非表示にすることが可能です。
方法③プラグインでコメント欄を非表示にする
「Disable Comments」というプラグインを使用すれば簡単にコメント欄を非表示にすることが出来ます。
既存コメントのあるなしに関わらずコメント欄が非表示になります。
プラグインのインストールと有効化
管理画面左メニュー > プラグイン > 新規追加
に進み、検索ボックスに「Disable Comments」と入力する。
- インストール
- 有効化
後は今すぐインストールを押し、有効化します。
プラグインの設定
Disable Commentsはコメント欄の非表示化とコメントの削除ができます。
非表示にするための設定を行いましょう。
プラグインを有効化すると、管理画面左側のメニューに「Disable Comments」が出ますのでコチラから設定します。
「どこでも」と書かれている部分にチェックを入れると全ページでコメント欄と既存コメントが非表示になります。
「On Specific Post Types」でコメント欄を非表示にする個所の選択ができます。
非表示にしたい箇所を選択後、変更を保存を押せばコメント欄が非表示になります。
ここでは触れませんが、DELETE COMMENTSのタブでコメントの削除が可能です。
方法④comments.phpでコメント欄を非表示にする
Wordpressでコメント欄の表示を行うプログラムファイル「comments.php」を変更すればプラグインレスでコメント欄の非表示化が可能です。
コメント関連の表示をさせなくするにはプログラムをコメントアウトしてもOKですが、空にすればもっと早いです。
子テーマを使用している場合
comments.phpは、親テーマ内に入っているPHPファイルです。
子テーマが使用できるなら、親テーマ内のcomments.phpを編集しているとテーマのアップデート時に戻ってしまうので、子テーマ内に設置します。
コメント欄を非表示にしたいなら、中身が空っぽのcomments.phpを子テーマ内に入れてあげるだけでOKです!
注意ポイント
子テーマ内に始めからcomments.phpが存在する場合は必ずバックアップを取ってから行ってください。
少々乱雑ですが、これで親テーマがアップデートされてもコメント欄が復活することはありません。
子テーマがない場合
Wordpressのデフォルトテーマなど、子テーマが無いテンプレートを使っている方は方法1か方法2の方が良いかと思います。
一応親テーマのcomments.phpを空にすればコメント欄は非表示にできます。
外観からテーマエディターを開き、「コメント(comments.php)」を開いてコードを全部削除すればOKです。
コアファイルを触る方法であまり良くないので一応動作確認は取りました。
僕が確認したところ問題はなさそうですが、テーマによって問題が出るかもしれませんのでこの方法を試す際はサイトの細部までご確認を!
まとめ
Wordpressのコメント欄を非表示にしたり、新規コメントを無効にする方法のまとめでした。
Wordpressの設定で「コメントを許可」のチェックを外しておく方法1が一番安全でプラグインに頼る必要もないので良さそうな気がします。
既存コメントを表示したくない場合はコメントを全部削除すればいいし。
ただ過去記事がとんでもなく多い場合は結構な作業時間を取られてしまいます…
そして万が一コメント欄を復活させたくなった時に地獄を見そうではありますが。
となってくればfunctions.phpを使う方法2が良いかも。
自分のサイトに合った方法でコメント欄を制限していただければと思います。
長文お付き合いありがとうございました。
なんだかんだ毎回大作になってしまいます・w・