【WP】コメント欄が無くなった
目次 -index-
ワードプレスのテーマを作成していたらコメント欄が無くなってました。
コメント欄が無くなる
「設定」→「ディスカッション」にある「新しい投稿へのコメントを許可」は当然チェックを入れています。
本来コメントが有るべきところはグレイの領域になっていました。ただこれは使用しているテーマによって異なると思います。
その領域をChromeのディベロッパーツールで確認すると「div#comments」とあるので何らかの不具合かミスで出力されなくなったようです。
HTMLコードを見るとdivタグだけで中身は空っぽでした。
投稿画面の表示メニューにも「ディスカッション」や「コメント」の項目が無くなっていました。
クイック編集のところにも通常は「コメントを許可」と「トラックバック/ピンバックを許可」という項目があるんですがそれもありませんでした。
解決の糸口
パーマリンク設定の更新、テーマの変更、WPの更新などWebに書かれているようなことは一通りやってみましたがダメで途方に暮れている時に記事によってコメント欄が表示されているものと表示されていなものがあることに気付きました。
それで表示設定を見比べるとコメント欄があるものは「ディスカッション」と「コメント」の項目があるのに表示されないものにはその項目がありませんでした。
「ディスカッション」や「コメント」にチェックを入れると投稿画面に下図のような項目が表示され、「コメントを許可」にチェックを入れると実際にコメント欄が表示されてコメントできるようになるという仕組みです。
因みに「コメント」の項目は単に投稿画面にコメントを表示する機能です。
原因
コメントが表示されない原因は分かったので大本の原因にもすぐにたどり着けました。
実はfunctions.php
で投稿画面の不必要な項目を消していたんですがその過程で以下のような表示項目も表示されないようにしてその中に「ディスカッション」もありました。
// 投稿画面のカスタマイズ
function remove_post_supports() {
remove_post_type_support( 'post', 'author' ); // 作成者
remove_post_type_support( 'post', 'excerpt' ); // 抜粋
remove_post_type_support( 'post', 'trackbacks' ); // トラックバック
remove_post_type_support( 'post', 'custom-fields' ); // カスタムフィールド
remove_post_type_support( 'post', 'comments' ); // コメント
remove_post_type_support( 'post', 'revisions' ); // リビジョン
remove_post_type_support( 'post', 'page-attributes' ); // ページ属性
remove_post_type_support( 'post', 'post-formats' ); // 投稿フォーマット
}
add_action( 'init', 'remove_post_supports' );
該当するコードを削除したらちゃんと表示オプションに表示されるようになりました。
ただ、それだけではコメント欄は表示されずに先に書いたように「デスカッション」の「コメントを許可」にチェックを入れてようやく復活しました。
記事が多い場合はクイック編集にも「コメントを許可」の項目が表示されるようになるのでそちらでやってもいいですし、確か一括でコメントを有効にするプラグインもあったと思います。
あと、投稿一覧でコメントを許可したい項目にチェックを入れて「編集」→「適用」とすると選択した項目の項目を一括で編集できるようになるのでコメントの頃を「許可」にして「更新」すると一括で設定変更できます。
ただ、設定する項目が多過ぎるとエラーになることがあるかも知れませんのでその際は表示オプションから表示数を減らしたりして分割してやって下さい。