[Wordpress] コメント表示をONにしているのに Comments are closed. と表示される場合の対処方法

とあるWordPressを使ったサイトの製作中にコメント表示をONにしているのにもかかわらず

Comments are closed.

と表示される現象がありました。

レアケースかもしれませんが、同様の現象に当たる場合に参考になるかもしれませんので、その時の対処した方法を記事にしました。

原因を調査する

最初はテンプレート関係ががうまく読み込まれていないのかと思い、comments.phpの内容をチェックしてみるが、明らかにこのファイルが読み込まれていない様子。

テーマ自体を親テーマの子テーマで作成していたので、どこかで読み込み順がおかしくなったのかと思ってチェックしてみた。

設定のディスカッションの項目や、記事単体のディスカッションの項目を見てもどれもコメントを表示する設定になっている。

しかし、親テーマでも子テーマでも、そもそも「Comments are closed.」という表示を行なっているところが無いのにもかかわらず表示されている。コメントエリアがOFFの場合は何も表示しないという処理になっていた。

つまり、テーマのcomments.phpが読み込まれていないくて、デフォルトの状態なのかな、と思い調べてみても、他のテンプレートは問題なく読み込まれている。

なかなか変な現象が起きているようです。

Disqus Comment System プラグイン

うーん、これは、、、と思いよく調べていくと、コメント関係のプラグインが影響しているのかな、と思い、プラグインの画面をみてみると、Disqus Comment System を導入していることに気がついた。

あぁ、有名なコメント関係のプラグインですよね。バグでもあってこれが原因なのかな。

でも、他のサイトは正常に表示されていたけどなぁ…などと思い、一旦無効にしてみた。

 

他にもまだなにかコメント拡張系のプラグインがあるようだ

Disqus Comment Systemプラグインを無効にしてみたところ、あれ?予想していたテンプレートの記述とは全く違うコメントエリアが表示されてる。

comments_social

うーん、テーマの記述と違う
コメントフォームが表示された。

comments_themes

こちらはテーマファイルに記述してあるコメントフォーム。

うーん、そうか、まだ何かコメント関連を拡張するプラグインがあるんだな。
ということで、一つづつプラグインを無効にして調べて見ることに。

その結果、Socialというプラグイン(TwitterやFacebookへの同時投稿するプラグイン)がコメントエリアを拡張していることがわかりました。

WordPressのアカウントだけでなく、TwitterやFacebookアカウントでもコメントが出来る、ということのようです。

WordPress › Social « WordPress PluginsWordPress › Social « WordPress Plugins

Broadcast posts to Twitter and/or Facebook, pull in reactions from each (replies, retweets, comments, “likes”) as comments, and allow commen

まとめ

結論としては、両者のプラグインがバッティングしているということのようです。

ということで、

  1. Disqus Comment System プラグインを無効にする
  2. Social プラグインのコメント拡張機能を非表示にする

のどちらかで対応できそうです。

今回はDisqus Comment System のコメントエリアを表示する必要がありましたので、
2.のSocialプラグインのコメント拡張機能を非表示にする方法を取りました。

Social プラグインのコメント拡張機能を非表示にする

Social-Options

  1. Socialプラグインの設定画面の下部、Advanced Optionsをクリック
  2. Disable Social’s comment display (use standard theme output instead). の項目にチェックを入れる
  3. Save Settingsボタンで保存する

最後に

今回の問題は、プラグインが他のプラグインに影響していたパターンだったようです。
無事解決できてめでたしめでたしでした。

※ 追記:よく検索してみたら、フォーラムに載ってた…。もっと早く気がつくべきでした。