网站触发Uncaught Error: add_action未定义,无法访问后台求助
错误分析:Uncaught Error: Call to undefined function add_action()
问题原因
add_action()是WordPress核心提供的钩子函数,出现这个错误的核心原因是:hello.php文件脱离了WordPress的运行上下文被执行——要么是文件被直接访问,要么是WordPress核心文件未被正确加载就触发了该插件的代码。- 常见诱因包括:插件文件被篡改、服务器重写规则(.htaccess)配置错误、文件权限异常,或者自定义插件代码逻辑错误(在WordPress核心初始化前调用了核心函数)。
解决步骤
1. 紧急恢复网站与后台访问
通过FTP或服务器自带的文件管理器,找到路径/home4/beunique/public_html/wp-content/plugins/,将hello.php所在的插件文件夹(通常是hello-dolly)重命名为hello-dolly-disabled。WordPress会自动禁用该插件,网站和后台即可恢复访问。
2. 排查并修复根源问题
- 检查插件文件完整性:对比官方原版Hello Dolly插件的代码,确认
hello.php是否被篡改、缺失内容,若有异常直接删除该插件文件夹。 - 验证服务器重写规则:检查网站根目录的
.htaccess文件,确保包含WordPress默认的重写规则,避免插件文件被错误解析为独立PHP脚本执行。 - 修正文件权限:将插件目录权限设置为
755,文件权限设置为644,防止权限问题导致WordPress无法正确加载插件文件。
3. 重新安装或修复插件
- 若为官方Hello Dolly插件,直接在WordPress后台插件市场重新安装即可。
- 若为自定义插件,需确保代码中调用
add_action()等核心函数的逻辑,是在WordPress核心初始化完成后执行(比如通过plugins_loaded钩子触发),或添加兼容判断:if (function_exists('add_action')) { // 你的add_action代码 }
内容的提问来源于stack exchange,提问作者Jessica North
相关产品推荐
相关产品推荐

