###実現したいこと
オートコンプリートの実装にあたり、jQueryの読み込みを適切なタイミングにしたいです。
###ソースコードと問題点
まずこちらのソースコードで、オートコーンプリート自体はできています。
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css"> <input type="text" id="hogehoge" class="ui-autocomplete-input" autocomplete="off"> <script> (function($){ var wordlist = [ "あいうえお", "かきくけこ",]; $( "#hogehoge" ).autocomplete({ source: wordlist }); })(jQuery); </script>
しかしある事情(後述の補足)により上のjQueryを「single.php」に直接書いておりまして、その場合にオートコンプリートが効かなくなるというのが問題です。
###試したこと
ご参考になるかわかりませんが、上のjQueryを「single.php」ではなく「my_js.js」というファイルに書いて次のようにフッターで読み込めば、オートコンプリートが効くようになります。
functions.php
php
1wp_register_script( 'my_js', 'http://example.com/wp-content/themes/simplicity-child/js/my_js.js', 2array('jquery'), 3date('U'), 4true);
しかしこの読み込みタイミングを「true
(フッター)」から「false
(ヘッダー)」にすると効かなくなってしまいますので、どうやら問題の原因は読み込みタイミングにあるように思われます。
とはいえこの原因がわかっても、「single.php」に直接書いている限り読み込みタイミングをフッター側になど変更できません。(自分はその方法を知りません。)
どのようにすれば上のjQueryを「single.php」に直接書いたままで、オートコンプリートを実装できるでしょうか?
###補足
ちなみに上のjQueryを「single.php」に直接書かなければならないワケは、「single.php」のget_termsで取得したタクソノミーを、JSONで配列に渡して、オートコンプリート用に使うためです。
(このときjQueryを「my_js.js」に書いても「single.php」のタクソノミーが取得できないので、「single.php」に直接書いているという感じです。)
回答1件
あなたの回答
tips
プレビュー