使用WordPress子主题移除脚本时出现add_action未定义错误求助
问题根源&解决办法
嘿,你的问题其实很典型——你把WordPress的PHP代码写到JavaScript文件里了!这就是控制台报错“Uncaught ReferenceError: add_action is not defined”的核心原因:add_action、wp_dequeue_script这些都是WordPress提供的服务器端PHP函数,浏览器的JavaScript引擎根本不认识它们,自然会报错。
下面是正确的操作步骤:
- 找到你激活的子主题文件夹(路径一般是
wp-content/themes/你的子主题名称/),打开里面的functions.php文件 - 如果子主题没有
functions.php,可以新建一个,记得在文件最开头加上<?php标签(注意标签前面不能有任何空格、换行或其他字符,否则会触发PHP输出错误) - 把你写的这段代码粘贴到
functions.php的末尾(不要插到已有函数的内部,保持独立):
function dequeue_scripts(){ wp_dequeue_script("refrakt-stickymenu"); //disable sticky menu } add_action("wp_print_scripts","dequeue_scripts", 0);
- 保存文件后,清除网站缓存(包括浏览器缓存和你用的缓存插件),刷新页面再检查
额外提醒:
- 如果你发现脚本还是没被移除,可以尝试调整
add_action的第三个参数(优先级),比如改成99——数字越大,执行顺序越晚,有时候能确保在原主题加载脚本之后再移除它 - 一定要确保子主题是当前激活的主题,不然修改子主题的文件不会生效
内容的提问来源于stack exchange,提问作者Sauce Alfredo
相关产品推荐
相关产品推荐

