wp_enqueue_scripts、wp_register_scripts、wp_print_scripts:混乱しています


8
  • 私はこの問題について少し読んでいましたが、読むほど、混乱します。

  • 誰かが間の正確な違い何要するに私に説明することができwp_enqueue_scriptswp_register_scriptsおよびwp_print_scripts

  • たとえば、functions.phpに次のコードが含まれていますが、機能していますwp_print_scriptsが、スタイルシートに使用できない理由がわかりませんwp_enqueue_scriptsが、JavaScriptファイルに使用するとコードは機能します。

    add_action('wp_print_scripts', 'add_my_js');
    function add_my_js(){
        if(!is_admin()){
            wp_enqueue_script('default',  get_bloginfo('stylesheet_directory').'/js/default.js', array('jquery'));
        }
    }
    
    add_action('wp_enqueue_scripts', 'add_my_stylesheet');
    function add_my_stylesheet() {
        wp_register_style('default', get_bloginfo( 'stylesheet_url'));
        wp_enqueue_style( 'default');
    }

回答:


9

wp_print_scriptsスクリプトがテンプレートに出力されるときに実行されるアクションです。wp_register_scriptそして、wp_enqueue_scriptするとき、出力するスクリプトをエンキュー/登録するための機能であるwp_print_scripts実行されます。

以前に実行されるフックでwp_print_scriptsスタイルが既に出力されているため、アクションフックにスタイルを登録またはエンキューすることはできません。wp_print_styleswp_print_scripts

参照してくださいアクション参照オーダーのものが要求内で実行されている参照してください。

22. wp_head
23. wp_enqueue_scripts
24. wp_print_styles
25. wp_print_scripts

それでは、wp_enqueue_scriptとwp_register_scriptの違いは何ですか?
Jeff K.

3
wp_register_scriptはスクリプトをWordPressに登録しますが、キューには追加しません。wp_enqueue_scriptも呼び出さない場合、スクリプトは表示されません。これの目的は、スクリプトを一度登録して、後で条件付きでコードの別の場所にエンキューできるようにすることです。これは、スクリプトがコード内の複数の場所にエンキューされる可能性があるプラグイン開発者に役立ちます。登録せずに、スクリプトを直接エンキューすることもできます。
ミロ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.