Advanced Custom Fields报错:调用get_field()失败,无法进后台激活插件
解决
Uncaught Error: Call to undefined function get_field()且无法进入后台的问题 方法1:通过FTP/文件管理器手动激活ACF插件
- 登录服务器FTP工具(如FileZilla)或主机面板文件管理器
- 定位到
wp-content/plugins/目录,找到advanced-custom-fields(或acf,依安装版本而定)文件夹 - 若文件夹被重命名(比如改成
advanced-custom-fields-deactivated),改回原始名称即可激活插件;若文件夹不存在,重新上传ACF插件压缩包并解压到该目录
方法2:通过数据库强制启用ACF插件
- 登录数据库管理工具(如phpMyAdmin)
- 找到
wp_options表(前缀可能因配置不同改变) - 搜索
option_name为active_plugins的条目并编辑 - 在
option_value字段中,若曾安装过ACF,找到类似a:X:{i:X;s:XX:"advanced-custom-fields/acf.php";}的内容确认存在;若没有,将该字符串添加到数组中(注意调整数组计数,比如原数组是a:2:{...},添加后改为a:3:{...},索引i的值依次递增) - 保存修改后刷新网站后台
方法3:临时添加兼容代码先进入后台
- 通过FTP找到当前主题的
functions.php文件,在末尾添加以下代码:
if ( ! function_exists( 'get_field' ) ) { function get_field($field_name, $post_id = false, $format_value = true) { return false; } } if ( ! function_exists( 'the_field' ) ) { function the_field($field_name, $post_id = false) { echo ''; } }
- 这段代码会在ACF未激活时定义空的
get_field和the_field函数,避免报错导致无法访问后台,进入后即可在后台重新激活ACF插件
补充说明
你之前尝试停用插件和主题未解决问题,大概率是因为主题或其他插件依赖ACF的函数,优先通过上述方法恢复网站访问,再处理插件激活事宜。
内容的提问来源于stack exchange,提问作者Gavin ThriveWPcom
相关产品推荐
相关产品推荐

