我只是想在我的Wordpress博客中添加一个JS accordion,但是accordion.js文件似乎没有通过functions.php文件加载。
但是,如果我将js代码加载到header.php文件中,它就可以很好地运行。
这是functions.php代码:
// enqueue script
function my_scripts_method() {
if ( !is_admin() ) {
wp_enqueue_script('jquery-ui-accordion');
wp_enqueue_script(
'custom-accordion',
get_stylesheet_directory_uri() . '/js/accordion.js',
array('jquery')
);
}
}
add_action('wp_enqueue_scripts', 'my_scripts_method');这是一个简单的代码,到处都是,而且似乎对其他所有人都有效,当然除了我。
有趣的是,一旦通过header.php包含加载了js代码,就会运行accordion的样式表。
我注意到的是,我似乎不能链接到functions.php文件并从其中加载文件。这不是唯一一个我在加载时遇到困难的文件。下面的文件也会发生同样的事情:
function wpb_load_fa() {
wp_enqueue_style( 'wpb-fa', get_stylesheet_directory_uri() . '/fonts/css/font-awesome.min.css' );
}
add_action( 'wp_enqueue_scripts', 'wpb_load_fa' );我已经尽我所能加载font-awesome.min.css,但都没有用。
我会不会对functions.php文件中的文件引用结构做错了?目录结构是按照说明创建的。谢谢。
发布于 2020-12-10 11:42:09
你试过wp_register_script();吗?该函数为
wp_register_script( string $handle, string|bool $src, string[] $deps = array(), string|bool|null $ver = false, bool $in_footer = false )发布于 2020-12-10 12:08:55
可能是因为您是以管理员身份登录的,而您的代码仅在当前用户不是admin时添加js。您可以删除复选标记,代码将如下所示:
// enqueue script
function my_scripts_method() {
wp_enqueue_script('jquery-ui-accordion');
wp_enqueue_script(
'custom-accordion',
get_stylesheet_directory_uri() . '/js/accordion.js',
array('jquery')
);
}
add_action('wp_enqueue_scripts', 'my_scripts_method');发布于 2020-12-10 15:50:01
请确保您没有以管理员用户身份登录,也请确保在包含此脚本之前包含jQuery。因为您的脚本依赖于jQuery。
get_stylesheet_directory_uri() . '/js/accordion.js',
array('jquery')
);https://stackoverflow.com/questions/65228147
复制相似问题