JINでプラグインがうまく動かないときの対処法

こんにちは、@taichi_kimuraです。

最近のwordpressのテーマは有料・無料共にとっても優れていて、スクラッチで開発することは稀になってきてます。

レスポンシブのテーマでそれなりのものを開発しようと思ったら100万は優に超えてくるので、ウェブサイトに求めるモノによりますが、既存のテーマを利用、カスタマイズして構築するパターンが今後も増えると思います。

住宅でいうと、ハウスメーカーとデザイン注文住宅の違いのようなものでしょう。

さて、今回「JIN」というテーマをカスタムしていてLPのテンプレートや追加したページテンプレートでlightbox系のプラグイン「 Easy FancyBox」や、contactform7を拡張する「Conditional Fields for Contact Form 7」が動かなかったので、その対処法です。

原因はfollowwidget.jsだった

はい。それだけですね。テーマをカスタムするときは基本的に子テーマを作成するので、子テーマのfunction.phpに下記を追記してあげます。

//followwidget.jsを無効化
add_action( 'wp_enqueue_scripts', 'followwidget_dequeue_script',100 );
	function followwidget_dequeue_script() {
		if(is_page_template(array('lp.php','onecolumn-760.php','onecolumn-960','onecolumn'))){
		wp_dequeue_script('cps-followwidget');
		}
	}

is_page_template()でテンプレートファイルの条件判定を行い、サイドバーがないテンプレートは、
wp_dequeue_scriptでfollowwidget.jsを読み込まないようにしてます。

エラーの内容はUncaught TypeError: Cannot read property ‘top’ of undefinedだったので、html側の問題かもしれませんが、調べるの面倒だったので取り急ぎ無効化しちゃいました。

ご参考になれば幸いです。

参考資料

wp_dequeue_script

この記事を書いた人

木村 太一

ドットワンの代表です。