wp-admin后台ACF字段组显示不全 如何迁移主题JSON字段至后台
ACF本地JSON字段组迁移至后台统一管理操作指南
问题根因
ACF的本地JSON同步特性会优先加载主题目录下JSON格式存储的字段组配置,优先级高于数据库存储。未同步写入数据库的字段组不会在后台字段组列表展示,这就是25个配置好的字段组仅在后台显示9个的核心原因。
操作前准备
- 全量备份网站数据库,同时备份主题目录下存储ACF配置的整个JSON文件夹,避免操作失误导致配置丢失
- 确认当前登录账号为超级管理员,拥有ACF所有功能的操作权限
迁移操作步骤
- 全量同步字段组到数据库
- 登录wp-admin后台,进入「自定义字段」-「工具」页面
- 找到页面内的「同步可用」板块,该板块会自动识别所有存在于本地JSON目录、尚未完整写入数据库的字段组
- 勾选列表内所有待同步的字段组,批量选择「同步」操作执行,等待系统将所有JSON格式的字段配置写入数据库
同步完成后第一时间核对:进入「自定义字段」-「字段组」列表,确认25个字段组全部显示,逐一抽查字段配置、位置规则、展示逻辑和原有配置完全一致
- 禁用本地JSON加载/存储逻辑
打开当前主题目录下的functions.php文件,找到并注释/删除注册ACF本地JSON路径的代码段,常见代码格式如下:// 注册ACF JSON保存路径 add_filter('acf/settings/save_json', 'custom_acf_json_save_path'); function custom_acf_json_save_path( $path ) { $path = get_stylesheet_directory() . '/acf-json'; return $path; } // 注册ACF JSON加载路径 add_filter('acf/settings/load_json', 'custom_acf_json_load_path'); function custom_acf_json_load_path( $paths ) { unset($paths[0]); $paths[] = get_stylesheet_directory() . '/acf-json'; return $paths; } - 功能验证
- 保存修改后的
functions.php文件,刷新后台字段组列表,确认25个字段组全部正常展示,可正常打开编辑 - 选择一个非核心字段做临时修改保存,刷新前台对应页面确认配置生效,再将字段改回原有配置即可
- 保存修改后的
- 清理本地文件
确认所有字段组功能、配置完全正常后,直接删除主题目录下存储ACF配置的JSON文件夹即可,后续所有字段组配置将直接存储在网站数据库,完全通过wp-admin后台统一管理。
异常排查
- 若同步页面未展示全部待同步字段:检查主题下ACF JSON目录的文件权限,确保web服务运行用户对该目录有读取权限,刷新页面重试
- 若同步后出现字段配置缺失:用提前备份的JSON文件覆盖原目录,重新执行同步流程
- 若删除JSON目录后后台字段组丢失:立刻恢复备份的
functions.php代码和JSON目录,重新执行同步操作,确认所有配置完整写入数据库后再推进后续步骤
内容的提问来源于stack exchange,提问作者tomektomczuk
相关产品推荐
相关产品推荐

