ACF 6.2.3中acf/include_fields钩子无法加载本地字段组问题
ACF本地字段组不显示的排查方案
以下是针对你遇到问题的具体排查和解决步骤:
调整钩子优先级
acf/include_fields默认优先级为10,可能ACF尚未完全初始化就执行了你的代码。尝试调高优先级,确保ACF加载完成后再导入字段组:add_action( 'acf/include_fields', function() { if ( ! function_exists( 'acf_add_local_field_group' ) ) { return; } acf_add_local_field_group( array( // 你的字段组配置 ) ); }, 20 ); // 添加更高优先级参数检查字段组Key的唯一性
ACF通过key值唯一识别字段组,如果目标站点已存在group_65685566476a1这个Key的字段组(手动创建或之前导入),本地代码中的字段组会被自动忽略。你可以修改Key为新的唯一值,比如将group_65685566476a1改为group_65685566476a1_custom,同时对应字段的Key也要同步修改(例如field_65685567f769f改为field_65685567f769f_custom)。清除ACF缓存
ACF会缓存字段组数据,即使代码执行成功,旧缓存可能导致字段组不显示。你可以:- 进入WP后台的ACF设置页面,点击「Clear Cache」按钮清除缓存;
- 或临时添加缓存清除代码(执行一次后删除):
wp_cache_delete('acf_fields', 'acf'); wp_cache_delete('acf_groups', 'acf');
确认代码完整闭合
检查代码结构,确保add_action的回调函数完全闭合。正确的代码结构应该是:add_action( 'acf/include_fields', function() { if ( ! function_exists( 'acf_add_local_field_group' ) ) { return; } acf_add_local_field_group( array( 'key' => 'group_65685566476a1', // 其他字段组配置... ) ); } ); // 这个闭合语句不能缺失排查插件/主题冲突
暂时禁用所有其他插件,切换到WordPress默认主题(如Twenty Twenty-Four),查看字段组是否显示。如果恢复显示,再逐个启用插件和主题,定位冲突来源。查看PHP错误日志
检查服务器的PHP错误日志,确认是否存在语法错误、函数未定义或内存不足等问题——这类错误可能导致字段组加载失败,但不会在后台直接提示。
内容的提问来源于stack exchange,提问作者Mithu A Quayium
相关产品推荐
相关产品推荐

