【WordPress】固定ページのみコメント欄を消す方法

WordPressではブログ投稿と別に固定ページを作ることができます。
サイト概要やプロフィール、お問い合わせページなど、時系列に関係なく常設したいページに適しています。

WordPressのデフォルトのテンプレートだと、ブログ記事でコメント欄を表示する場合に、この固定ページにもコメント欄が表示されます。
ですが、こういったページにはコメント欄は不要だと思う人も多いのではないでしょうか。
このブログでもお問い合わせページを固定ページで作ってみましたが、コンタクトフォームのすぐ下にコメント欄があって、なんだか微妙です。

ということで、固定ページのコメント欄を消そうと思います!

ブログ投稿&固定ページのコメント欄を非表示にする方法

WordPressの設定では、ブログ投稿と固定ページで別々に設定することはできません。両方ともコメント欄を使わないのであれば、「設定」>「ディスカッション設定」で、「新しい投稿へのコメントを許可する」のチェックを外せば表示されません。

※「新しい投稿」と書いてあるとおり、既に作成したページに関してはこれまでの設定のままで変わりません。過去のページのコメント欄も非表示にするには、投稿一覧画面/固定ページ一覧画面から全てのタイトルを選択して「一括操作」で「編集」を選択、「コメント」で「許可しない」を選択して更新すればOKです。

固定ページのみコメント欄を非表示にする方法

ブログ記事にはコメント欄を表示したままで、固定ページのみコメント欄を非表示にしたい場合。
WordPressではこのような大元の設定はできません。

方法その1:ページ毎にコメント表示/非表示を設定する

ページごとにコメント欄を使用するかどうかは設定できるので、少し面倒ではありますが、ページを作成する時にこの設定を変えてやるのが良いと思います。
「固定ページを編集」画面の右上にある「表示オプション」をクリックし、「ディスカッション」にチェックを付けます。すると「ディスカッション」ブロックが表示されます。そこの「コメントの投稿を許可する。」のチェックを外して更新すれば、コメント欄が非表示となります。

方法その2:テンプレート編集

毎回毎回上記の設定をするのが面倒…という場合は、テンプレートファイルを直接編集する方法もあります。

※テンプレートファイルというのは、ブログ投稿記事用や固定ページ用、カテゴリ別記事一覧ページ用など、それぞれのページの表示内容を決めるPHPファイルのことです。

固定ページのコメントのみ非表示にするには、「page.php」の中にある
<?php comments_template(); ?> というコメント欄を呼び出すタグを削除もしくはコメントアウトすればOKです。

※テーマによってはpage.php以外に特定の固定ページ専用のテンプレートファイルが用意されている場合もあります。また、テーマによって上記記述と少し異なる場合もあります。

さらに注意したい点があり、ブログの見た目となる「テーマ」を変更するとテンプレートファイルも変更されるので、その都度編集しなければいけません。PHPファイルを触る際には、そのことをお忘れなく!

個人的にはこの点が厄介だと思うので、方法その1の固定ページ編集画面で設定する方法をオススメします。全ページを選択すれば一括で設定することもできますし。あと、固定ページの中でも「このページだけはコメント欄を付けたい」というケースももしかしたら出てくるかもしれませんしね。

(固定ページのみコメントを表示したくないというのはかなりニーズがあると思うので、標準の設定画面で設定できるようになればいいのになぁと思います。)

コメント

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