如何在WordPress指定页面头部引入JS和jQuery实现手风琴可关闭功能
WordPress指定页面加载自定义jQuery脚本失效的解决方法
问题核心原因
- 路径错误:硬编码的相对路径无法正确指向子主题目录下的JS文件,WordPress无法定位到
accordiontoggle.js资源 - 依赖缺失:脚本基于jQuery实现,但加载时未声明jQuery为前置依赖,导致脚本在jQuery加载完成前就执行,功能失效
修复后的完整代码
function my_closeaccordionscript() { // 匹配FAQ、联系我们页面、WooCommerce单商品页 if( is_page( array( 'faqs','contact') ) || is_singular('product') ){ wp_enqueue_script( 'toggle-script', get_theme_file_uri('/assets/js/accordiontoggle.js'), array('jquery'), '1.0.0', true ); } } add_action( 'wp_enqueue_scripts', 'my_closeaccordionscript' );
代码说明
get_theme_file_uri()会自动获取当前激活主题(子主题优先)的资源URI,无需手动拼接完整路径,避免路径配置错误- 依赖项参数传入
array('jquery'),要求WordPress在加载当前脚本前先加载jQuery,保证功能正常运行 - 两个判断逻辑合并为一个
if条件,代码更简洁
内容的提问来源于stack exchange,提问作者Ross
相关产品推荐
相关产品推荐

