自定义主题中忽略WP_ENQUEUE_SCRIPT

时间:2018-08-07 作者:Kurisubo

我正在尝试将一个js文件(calculator.js)从我的主题函数中排队。php文件。

我有一个桌面主题和一个智能手机主题,我使用一个插件根据用户的设备在这两个主题之间切换。

我的桌面主题上有完全相同的代码,它工作得很好,但是当我将其复制到我的智能手机主题时,它似乎忽略了排队脚本。

这是我的代码:

function wpb_adding_scripts() {
    wp_register_script(\'calculator_script\', get_template_directory_uri() . \'/js/calculator.js\', array( \'jquery\' ), NULL, \'all\');
    wp_enqueue_script(\'calculator_script\');
    wp_enqueue_style( \'slider\', get_template_directory_uri() . \'/css/calculator.css\',false,\'1.1\',\'all\');
} 
add_action( \'wp_enqueue_scripts\', \'wpb_adding_scripts\' ); 
我所做的/注意事项:

确保功能正常。php文件确实是以打开的php标记开始的,确保所有文件都位于正确的目录中,控制台没有标记任何错误,源代码没有显示正在加载的js文件,但是css文件(calculator.css)正在正确加载关于这个问题的原因有什么见解吗?

非常感谢你。

3 个回复
最合适的回答,由SO网友:Balas 整理而成
You can better try this way and let me know.

function wpb_adding_scripts() {
    wp_enqueue_style( \'slider\', get_stylesheet_directory_uri() . \'/css/calculator.css\');
    wp_enqueue_script(\'jquery\');
    wp_enqueue_script(\'calculator_script\', get_stylesheet_directory_uri() . \'/js/calculator.js\');

} 
add_action( \'wp_enqueue_scripts\', \'wpb_adding_scripts\' ); 
SO网友:maverick

只是一些修改

function wpb_adding_scripts() {
    wp_enqueue_script( \'calculator_script\', get_template_directory_uri() . \'/js/calculator.js\', array( \'jquery\' ), \'\', true );
    wp_enqueue_style( \'slider\', get_template_directory_uri() . \'/css/calculator.css\' );
} 
add_action( \'wp_enqueue_scripts\', \'wpb_adding_scripts\' ); 
如果函数为,请使用get\\u stylesheet\\u directory\\u uri()而不是get\\u template\\u directory\\u uri()。php文件位于子主题中。

看看这是否有效(通常是这样)

SO网友:Harsh

get\\u template\\u directory\\u uri将始终引用资产的父主题文件夹。

get\\u stylesheet\\u directory\\u uri将引用资产的“当前”主题文件夹(根据调用位置,它可以是父级或子级)。

结束

相关推荐

以jQuery中的特定页面/模板为目标

我有一个带有固定顶栏的网站,上面显示着特定的徽标。我在jQuery中使用以下脚本在滚动若干像素后显示/隐藏徽标:<script> jQuery(document).scroll(function() { var y = jQuery(this).scrollTop(); if (y > 63) { jQuery(\'.top-bar-logo\').fadeIn(); } else { jQuery(\'.top-bar-logo\