在单个模板上加载自定义脚本

时间:2013-07-09 作者:StenW

因此,我在插件文件夹中放置了两个脚本,但我不明白为什么它们不会加载。我创建了一个自定义模板,其中放置了以下代码:

<?php
function my_enqueue_scripts() {
wp_register_script(\'ajax\', plugins_url(\'ajax.js\', __FILE__), array(\'jquery\'),   \'false\', \'true\' );
wp_register_script(\'ajax2\', plugins_url(\'ajax2.js\', __FILE__), array(\'jquery\'), \'false\', \'true\' );
}
if (is_page_template(\'page_blankett.php\')){
add_action( \'wp_enqueue_scripts\', \'my_enqueue_scripts\' );
}
?> 

1 个回复
SO网友:mrwweb

多个问题,解决其中一个或多个问题可以解决该问题:

如果还没有,应该输入代码functions.php 而不是模板文件wp_enqueue_script. 如果您更改wp_register_scripts至wp_enqueue_scripts、 这应该行得通

  • 您要将呼叫打包到wp_enqueue_script 在条件而不是add_action. 例如,您可能希望将不同的脚本排入不同页面的队列,并且可以在同一个函数中这样做functions.php:

    <?php
    function my_enqueue_scripts() {
        if (is_page_template(\'page_blankett.php\')){
            wp_enqueue_script(\'jquery\');
            wp_enqueue_script(\'ajax\', plugins_url(\'ajax.js\', __FILE__), array(\'jquery\'),   \'false\', \'true\' );
            wp_enqueue_script(\'ajax2\', plugins_url(\'ajax2.js\', __FILE__), array(\'jquery\'), \'false\', \'true\' );
        }
    }
    add_action( \'wp_enqueue_scripts\', \'my_enqueue_scripts\' );
    ?>
    

  • 结束