如何通过代码向WordPress自定义admin_menu页面添加ACF字段?
解决ACF字段组绑定自定义WordPress后台菜单页面的问题
要让ACF字段组显示在你创建的自定义后台菜单页面上,需要修改location参数的配置——将param改为options_page,并将value设置为你自定义页面的slug(也就是add_menu_page函数的第四个参数'opt')。
正确的Location配置示例
'location' => array( array( array( 'param' => 'options_page', 'operator' => '==', 'value' => 'opt', // 对应自定义页面的slug ), ), ),
完整的ACF字段组注册代码
结合你已有的自定义菜单代码,完整实现代码如下:
// 创建自定义后台菜单页面 add_action( 'admin_menu', 'opt_add_admin_menu' ); function opt_add_admin_menu() { add_menu_page( 'opt', 'opt', 'manage_options', 'opt', 'opt_options_page' ); } // 注册ACF字段组到自定义页面 add_action('acf/init', 'register_opt_acf_fields'); function register_opt_acf_fields() { if( function_exists('acf_add_local_field_group') ) { acf_add_local_field_group(array( 'key' => 'group_123456', 'title' => '自定义页面字段组', 'fields' => array( // 示例字段,可根据需求修改 array( 'key' => 'field_123456', 'label' => '示例文本字段', 'name' => 'example_text', 'type' => 'text', ), ), 'location' => array( array( array( 'param' => 'options_page', 'operator' => '==', 'value' => 'opt', ), ), ), 'menu_order' => 0, 'position' => 'normal', 'style' => 'default', )); } }
注意事项
- 确保ACF插件已在你的WordPress站点激活。
value必须和add_menu_page函数中定义的slug(第四个参数)完全一致,大小写敏感。- 若使用ACF Pro的
acf_add_options_page创建选项页面,配置逻辑完全一致,只需替换为对应页面的slug即可。
内容的提问来源于stack exchange,提问作者islam belabbes
相关产品推荐
相关产品推荐

