web-dev-qa-db-ja.com

Wp_enqueue_scriptをどのアクションにフックしますか? wp_headまたはwp_enqueue_scripts

重複している可能性があります:
スクリプトやスタイルを登録/登録するのに適した場所はどこですか

Codexのwp_enqueue_script()のドキュメント によれば、wp_enqueue_scriptsの代わりにwp_enqueue_script()呼び出しをwp_headアクションにフックするべきであるようです。これは私がこれまでにこのテーマについて読んだことがあるすべてのチュートリアルと矛盾します。それはwp_headに追加することを示唆します。

正しい方法はどれですか。

前もってありがとう:0

3
Extrakun

私は長い間この正しい方法を考え出しました!これが私が今従うことです:

ユースケース プラグインの管理者ページに

フック:admin_print_scripts- <ページフック> OR <プラグインのphpファイル名>

$hook = add_menu_page(...) / add_submenu_page(...);
add_action('admin_print_scripts-'.$hook, 'my_callback');

ユースケース すべての管理ページで

フック:admin_print_scripts

add_action('admin_print_scripts', 'my_callback');

ユースケース すべてのフロントエンドページで

フック:wp_enqueue_scripts

add_action('wp_enqueue_scripts', 'my_callback');

そしてコールバック:

function my_callback(){
    wp_enqueue_script(....);
}

注:スタイルのエンキューにも同じ方法を使用してください(wp_enqueue_style)。

編集: admin_print_scriptsのコーデックスをチェックしました。代わりにadmin_enqueue_scriptsを使用することを推奨します。バージョン3.4.1のコアファイルを検索したところ、内部でadmin_print_scripts-<hook>を使用していることがわかりました。だからあなたもそれを使うことができます!

それは完璧に動作します!

5