ではみていきましょう。
Cocoonでコメント強化プラグインのwpdiscuzを使う
wpdiscuzはコメントをajax化できるプラグインで他にも多様な機能が内臓されています。
さて、これをWordPressテーマのCocoonで使用するとうまくいかないことがあります。
具体的にどのような事象が発生するかというと以下のようになります。
- フォームのテキストエリアが表示されない
- テキストエリアにフォーカスをあてても、サブミットボタンが表示されない。
Cocoonでwpdiscuzのテキストエリアが表示されないときの対処方法
Cocoonでwpdiscuzのテキストエリアが表示されない原因は以下です
Cocoonの高速化設定でjavascriptの縮小化を行うとwpdiscuzのjsファイルがインラインで出力されてフォームのテキストエリアが表示されない現象が起こります。
wpdiscuzのメインのjavascriptファイル
具体的な対処方法はCocoonの高速化設定でwpdiscuzのjsファイルを除外します。これがまた難しいんですがwpdiscuzにはメインのjavascriptファイルが4つあって、どれが出力されるかはwpdiscuzの設定によって決まります。さらにくわしくかくと以下の部分のセッティングによって出力されるファイルが決まります。
このjavascriptファイルの種類に関しては以下の記事を参考にしてください
wpdiscuzのjavascriptファイルをCocoonの高速化設定から除外する
wpdiscuzのjavascriptファイルをCocoonの高速化設定から除外するには以下のてじゅん
- WordPressの管理画面
- Cocoon設定→「高速化設定」
- 「縮小化」→「JavaScript縮小化」の項目に除外するjavscriptファイルを記述
さらにくわしくかくとwpdiscuzはデフォルトのセッティングの場合は「wpdiscuz-combo-no_quill.min.js」というファイルが出力されるので、以下の画像のように記述してください。
これで保存したらうまくwpdiscuzが動作するようになります。
まとめ
wpdiscuzは多機能なajaxコメントプラグインですが導入の敷居が少し高い気がします。Cocoonの場合は高速化設定をおこなっているとそれだけでうまく動作しないので、初心者が導入しようとした場合は出づらをくじかれる形になってしまいます。こういうことを解説しているブログも見当たりませんからね。
コメント