调用WordPress自定义JavaScript文件

时间:2018-04-24 作者:Jonathan Plotz

// Creates the function
function my_custom_javascript()
{ 
  // Loads the script into the function
  wp_enqueue_scripts(\'my_custom_javascript\', plugin_dir_url(__FILE__) . \'/assets/js/custom.js\', array(\'jquery\')); 
}
// calls the function where the script is located
add_action(\'wp_enqueue_scripts\', \'my_custom_javascript\'); 
我认为这是写对了。我在函数中调用这个脚本。php文件在我的主题中,但它没有加载,所以我希望能得到一些建议。

3 个回复
SO网友:Pat J

您正在使用函数wp_enqueue_scripts() 您应该使用的位置wp_enqueue_script().

function my_custom_javascript(){ // Creates the function
    wp_enqueue_script(
        \'my_custom_javascript\',
        plugin_dir_url(__FILE__) . \'/assets/js/custom.js\',
        array(\'jquery\')
    ); // Loads the script into the function
}
add_action(\'wp_enqueue_scripts\', \'my_custom_javascript\'); 
// calls the function where the script is located
wp_enqueue_script() 将脚本排队;wp_enqueue_scripts() 是的包装器do_action( \'wp_enqueue_scripts\' ).

SO网友:Milan Bastola

function my_custom_javascript() {
    wp_enqueue_scripts(\'my_custom_javascript\', plugin_dir_url(__FILE__) . \'assets/js/custom.js\', array(\'jquery\'));
add_action(\'wp_enqueue_scripts\', \'my_custom_javascript\'); 
**您不需要在assets/js/custom之前使用尾部斜杠。js,因为plugin\\u dir\\u url会输出它。相反,您可以使用plugins\\u url,在对文件排队时应该使用wp\\u enqueue\\u脚本而不是wp\\u enqueue\\u脚本

我认为这将帮助您:plugins_url vs plugin_dir_url

SO网友:Mat Lipe

提示您要使用的脚本wp_enqueue_script() 而不是wp_enqueue_scripts() 就像这样。

function my_custom_javascript() {
    wp_enqueue_script(\'my_custom_javascript\', plugin_dir_url(__FILE__) . \'assets/js/custom.js\', array(\'jquery\'));
}
add_action(\'wp_enqueue_scripts\', \'my_custom_javascript\'); 
您不需要在assets/js/custom之前添加/斜杠。js,因为plugin\\u dir\\u url使用trailingslashit() 包括它。

如果确实要添加/您自己,可以使用plugins_url() 不管怎样,只要减去trailingslashit()

结束

相关推荐

未与其余资产一起排队的JavaScript资产

我正在从事一个项目,该项目使用子主题的函数文件将样式表和单个javascript文件排队。这两个资源很好地排队。然而,当我添加一个新的已编译javascript文件时,它似乎根本不会排在原来的两个脚本之后,好像它完全忽略了我对函数的添加。php文件。知道为什么吗? <?php add_action( \'wp_enqueue_scripts\', \'theme_enqueue_styles_and_scripts\' ); function theme_enq