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

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.管理画面でコメントを無効にする

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

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

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

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

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

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

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

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

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

Wordpressコメントを受け付けない設定_002投稿一覧からコメントを無効にしたい記事のクイック編集を押す。
Wordpressコメントを受け付けない設定_003「コメントを許可」のチェックを外し、更新を押せばOKです。

また、記事を書く画面でも設定が出来ます。
Wordpressコメントを受け付けない設定_004画面上部の「表示オプション」を開く。
「ディスカッション」にチェックを入れる。

Wordpressコメントを受け付けない設定_005すると画面の下部に「コメントを許可」というチェックボタンが現れます。

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

過去記事を一括で選択して(20件ずつ)コメント許可を設定する方法です。
Wordpressコメントを受け付けない設定_006投稿一覧を開き、編集を押す。

Wordpressコメントを受け付けない設定_007タイトルをクリックすれば画面に表示されている20記事が選択されます。

Wordpressコメントを受け付けない設定_008適用を押す。

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

方法2.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同時にコメントを全削除すると実質コメント機能を非表示にすることが可能です。

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

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

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

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

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

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

プラグインの設定

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

プラグインを有効化すると、管理画面左側のメニューに「Disable Comments」が出ますのでコチラから設定します。
Wordpressコメント欄非表示_プラグイン使用004「どこでも」と書かれている部分にチェックを入れると全ページでコメント欄と既存コメントが非表示になります。

Wordpressコメント欄非表示_プラグイン使用005「On Specific Post Types」でコメント欄を非表示にする個所の選択ができます。

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

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

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

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

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

comments.phpは、親テーマ内に入っているPHPファイルです。
子テーマが使用できるなら、親テーマ内のcomments.phpを編集しているとテーマのアップデート時に戻ってしまうので、子テーマ内に設置します。
Wordpressコメント欄非表示_PHPファイルの編集001コメント欄を非表示にしたいなら、中身が空っぽのcomments.phpを子テーマ内に入れてあげるだけでOKです!
少々乱雑ですが、これで親テーマがアップデートされてもコメント欄が復活することはありません。

子テーマがない場合

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

一応親テーマのcomments.phpを空にすればコメント欄は非表示にできます。
Wordpressコメント欄非表示_PHPファイルの編集002外観からテーマエディターを開き、「コメント(comments.php)」を開いてコードを全部削除すればOKです。

コアファイルを触る方法であまり良くないので一応動作確認は取りました。
Wordpressコメント欄非表示結果001僕が確認したところ問題はなさそうですが、テーマによって問題が出るかもしれませんのでこの方法を試す際はサイトの細部までご確認を!

まとめ

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

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

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

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

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

-Wordpress

© 2021 ソロ学