You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过代码向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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.17 18:20:48