コメント欄停止・コメント削除

WordPressでは標準でコメント機能が付いてきます。この投稿ではコメント機能の停止や既に投稿されたコメントを削除する方法を紹介します。

設定による停止方法

新規の投稿に関してコメントを停止する

管理画面より「設定」→「ディスカッション」とすすみ、"新しい投稿へのコメントを許可する"のチェックをはずす。
これで、これから投稿するページのコメントは停止されますが、説明("これらの設定は各投稿の設定が優先されます。")にあるように、既に投稿しているページのコメントは有効です。

既存の投稿に関してコメントを停止する

管理画面より「投稿」→「投稿一覧」とすすみ、そのページの投稿画面へすすんで下さい。右上の「表示オプション」を開き、"ディスカッション"と"コメント"にチェックを入れると要素が追加されるので、"コメントの投稿を許可する。"のチェックをはずして下さい。

これでその投稿に対するコメントは停止されますが、この状態では既に投稿されたコメントは表示されたままなので、削除したい場合は、コメントの部分から"ゴミ箱"をクリックすると削除されます。

複数の(既存の)投稿をまとめてコメント停止する

管理画面より「投稿」→「投稿一覧」とすすみ、コメントを停止したい投稿にチェックを入れて左上のドロップボックスから「編集」を選び"適用"を押すと一括編集がでてくるので、"コメント"のドロップボックスから"許可しない"を選んで、更新して下さい。

まとめてコメントを削除する場合は、管理画面の「コメント」から選択して削除できます。

コメント機能を停止するプラグイン

このプラグインでは、「投稿」、「固定ページ」、「メディア」ごとにコメント機能を停止することができます。
Disable Comments

フィルターフックを使用してコメント機能を停止

以下を子テーマのfucntions.phpに追加することでコメントを停止できます。

function my_comment_status( $open, $post_id) {
    if (get_post_type() == 'attachment') {    // 「メディア」ページの場合
        return false;
    }
    return $open;
}
add_filter( 'comments_open', 'my_comment_status', 10 , 2);

上記では、'attachment'となっており、「メディアライブラリ」に投稿(アップロード)されたファイルを表示するページのコメントフォームを停止させます。他の投稿タイプに対して行う場合は、置き換えてください。よく使いそうなのが'page'で、「固定ページ」のコメントを停止させます。あとは、'post'(「投稿」)などがあります。
「投稿タイプ」についてはこちらを参照。
Post Types « WordPress Codex

全てのページでコメントを停止させる場合は以下

add_filter( 'comments_open', '__return_false');

テンプレートを編集して停止する方法

テーマ内のテンプレートから以下のコードを見つけてコメントアウトするだけで実現できます。

<?php comments_template( '', true ); ?>
// ↓コメントアウト
<?php //comments_template( '', true ); ?>

"コメントは停止中です。" "コメントは受け付けていません。"を削除

テーマによりますが、過去にコメントされそれらを表示しているけど、現在はコメントを受け付けていない場合に表示されます。(コメントを不許可にしているだけでコメント件数が0の場合は表示されません。)

テンプレートから変更

大抵のテーマでは、comments.phpに記述されています。そのなかで'Comments are closed.'の部分をコメントアウトすることで削除が可能です。

// Twenty Fifteenを例に
<?php if(0) { ?>
    <p class="no-comments"><?php _e( 'Comments are closed.', 'twentyfifteen' ); ?></p>
<?php } ?>

Remove "Comments are closed"」というプラグインでも可能のようです。(インストール・有効化するだけです。)

CSSで非表示に

.no-comments {
    display: none;
}
  • このエントリーをはてなブックマークに追加

関連記事

jQueryをCDNから読み込む

WordPressではデフォルトでjQueryライブラリが同梱されています。この記事では、それをやめて、CDNから読み込み、使用する方法を解説します。 WordPress 3.6 3.9 4.0

Twenty Twelve サイトタイトルをテキストから画像に置き換え

ページトップに表示されるサイトタイトルをデフォルトのテキストから画像に変更します。 あらかじめ、管理画面のメディアライブラリから画像をアップロードしているもしくは別の場所に保存しているそのファイルの

管理画面のCSSをカスタマイズ

管理画面のスタイルを変更したくなったので、カスタマイズしてみました。一例として以下を取り上げてみます。 「投稿一覧」の画面でカスタムフィールドが追加されていくと、そんなに幅が必要のないところが長くな

no image

「最近の投稿」ウィジェット カスタマイズ

目次 ウィジェットを削除 標準の設定 特定のカテゴリーに属する投稿を除外 カスタマイズ プラグイン 「最近の投稿」ウィジェットを削除 「最近の投稿」ウィジェット

no image

投稿タイトル(entry-title)を非表示にする

表題通り「投稿タイトルを表示しない」ことは、"投稿ページ"ではあまりないと思いますが、"固定ページ"では意外とあったりします。 編集画面でTitleを入力しないでおけば、それで済むのですが、ペー

テーマ 「Responsive」 カスタマイズ

デモ | ダウンロード 目次 投稿日 非表示 作成者 非表示 "Responsive Theme powered by WordPress" 削除 投稿日 非表示 オリ

「All in One SEO Pack」を代替するための準備

「All in One SEO Pack」は、SEO対策に必要な基本的な設定を行ってくれるプラグインです。とある事情で、無効化することになったので代替を行いました。特に問題があるわけではなく、特殊なこ

no image

ソーシャルボタン設置 プラグイン

各種メジャーなソーシャルメディアボタンを設置できるプラグイン WP Social Bookmarking Light 国産プラグイン。国産ゆえ、はてなボタンの設置も可能 ダウンロード Twe

no image

アップグレードで「更新を展開しています... 」のままになった場合の対処のひとつ

久々に出会ったような気がするのでメモです。 ローカルのテスト環境でWordPressを3.7から3.8にアップグレードしようとしたところ、「更新を展開しています... 」で止まってしまい更新処理がす

Twenty Thirteen カスタマイズ

WordPress 3.6のデフォルトテーマである「Twenty thirteen」のカスタマイズをまとめて投稿します。 Twenty thirteenのカスタマイズネタがあまりないです。(それだけ

Comment

  1. コメント欄を削除したのですが、webmastertoolで見るとurlエラーが多発しました。
    見てもよくわからなかったので、http://freeseo1.com/checklink.aspxというサイトでリンクチェックをしました。

    http://○○○.biz/comments/feed 404 Not Found

    投稿ページすべてこの調子です。
    いろいろサイトを検索して対策を探しましたがうまくいきません。

    エラーを無視してもかまわなければそれでもよいのですが・・・・
    申し訳ありませんがもしお分かりなら教えてもらえないでしょうか。

    • RSS/Atomフィードのリンクエラーのようですね。

      head内に以下のlink要素があると思います。
      http://○○○.biz/comments/feed - サイト全体のコメントのフィードURL
      http://○○○.biz/シングルページのスラッグ/feed - シングルページへのコメントのフィードURL

      "404 Not found"ということは、フィードを停止されているのではないでしょうか?
      (フックを用いてコメント欄を停止している(別)私サイトに対して、紹介いただいたオンラインツールで試してみましたが、同様のリンクエラーは検出されませんでした。)

      コメント欄を停止されるようでしたら、上記のhead内のリンクも除去して影響は無いと思います。
      headからのlink削除方法は以下を参照いただければと思います。
      http://kwski.net/wordpress/1102/
      "head内のフィードURLを消す方法"
      (** コメントのフィードURLだけ消すというのが簡単にできればいいのですが、)

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

PAGE TOP ↑