MW WP Formの日付ピッカーが動かなくて時間を食ったので、また同じことにならないように覚書。
エラーを見ると、
1 |
$(...).datepicker is not a function |
と言われている。
wp_headやwp_footerも忘れてないし、他にjsのエラーが出ているわけでもないのに何だろうと思って調べていたら、どうもdatepickerはjQuery本体の他にjQuery UIもないと動かないらしい。
本来、wp_enqueue_script()を使ってwp_head()内でスクリプトたちを読み込んでいると、それに合わせてMW WP Formのプラグインもwp_head内にjQuery UIを読み込んでくれるんだと思うんだけど、僕はめんどくさくてテンプレートに直に書いてスクリプトを呼び出してるので、スクリプトを読み込む順番がおかしくなっていて、jQuery UIを読み込む前にdatepickerを実行しちゃっていたのが原因っぽい。
これを回避するには、WP推奨通りちゃんとwp_enqueue_script()を使ってスクリプトを読み込むか、
1 |
<script src="https://code.jquery.com/ui/1.11.4/jquery-ui.min.js"></script> |
手抜きする場合はこれをjQuery本体呼び出しの後に書いてやれば動きます。
以上、現場からでした!