クライアント様に納品チェックをお願いしている最中、トップページに設定していたslickが急に動かなくなるというトラブルに見舞われました。エラー内容を確認すると「Uncaught TypeError: $(…).slick is not a function」。一体何が起きているのか、調べてみました。
$(function(){
$('.slider').slick({
そもそも「Uncaught TypeError: $(…).slick is not a function」とは「slickがないよ」と言われているようです。slickを読み込めていない。
$() の記載が原因かと思い jQuery() に書き換えてみましたが、状況は変わらず。(そもそも直前の$(function() にエラーは出てないんだし、これが原因なわけないか。)
紆余曲折を経て辿り着いた正解は、これ!
add_action( 'wp_enqueue_scripts', function() {
wp_enqueue_style( 'slick-theme-style', get_template_directory_uri() . '/plugins/slick/slick-theme.css' );
wp_enqueue_script( 'slick-js', get_template_directory_uri() . '/plugins/slick/slick.min.js', array( 'jquery' ), false, true );
});
上記コードの書き込む場所を間違えてたようです。親テーマのfunction.phpに書いてたんでしょうね。アップデートかかって消されたと思われます。子テーマのfunction.phpに追加したらちゃんと動きました。
凡ミスでした。