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

如何在自定义Post Type子菜单页面中添加ACF字段?

解决方案:自定义子菜单页面显示ACF字段

针对你遇到的问题,有两种可靠的解决方式,根据你的需求选择即可:


方案一:将子菜单页面关联为ACF选项页面(推荐)

ACF自带选项页面功能,能直接把你的自定义子菜单注册成ACF选项页面,自动处理字段的加载与保存,无需额外写逻辑。

操作步骤:

  1. 替换子菜单注册代码:删掉原来的add_custom_page_to_menu函数,改用ACF的专用函数注册子菜单:
function add_custom_dealer_options_page() {
    acf_add_options_sub_page(array(
        'page_title'     => __('Dealer Vivafloors', 'text_domain'),
        'menu_title'     => __('Dealer Vivafloors', 'text_domain'),
        'parent_slug'    => 'edit.php?post_type=dealer', // 绑定到Dealers自定义Post Type菜单
        'capability'     => 'edit_posts',
        'menu_slug'      => 'dealer-vivafloors',
    ));
}
add_action('acf/init', 'add_custom_dealer_options_page');
  1. 配置ACF字段组:在ACF后台新建字段组,设置位置规则为:选项页面 → 等于 → Dealer Vivafloors,添加你需要的字段即可。

完成后访问子菜单页面,就能直接看到并编辑ACF字段,保存逻辑由ACF自动处理。


方案二:手动在回调函数中渲染并处理ACF字段

如果不想用选项页面,也可以手动在回调里渲染字段,同时实现保存逻辑。

操作步骤:

  1. 修改回调函数:更新call_back_function,添加表单提交处理和ACF字段渲染代码:
function call_back_function() {
    // 处理表单提交,验证权限与防CSRF
    if (isset($_POST['acf'], $_POST['_wpnonce']) && wp_verify_nonce($_POST['_wpnonce'], 'acf_nonce')) {
        // 将字段保存到wp_options表,用自定义标识区分
        foreach ($_POST['acf'] as $field_key => $value) {
            update_field($field_key, $value, 'vivafloors_special_dealer');
        }
        echo '<div class="notice notice-success"><p>设置已保存</p></div>';
    }

    // 渲染ACF表单
    acf_form(array(
        'post_id'       => 'vivafloors_special_dealer', // 自定义存储标识
        'field_groups'  => array('group_xxxxxx'), // 替换为你的ACF字段组ID
        'submit_value'  => __('保存设置', 'text_domain'),
        'html_before_fields' => '<h1>' . __('Dealer Vivafloors', 'text_domain') . '</h1>',
    ));
}
  1. 字段组配置:在ACF字段组编辑页面,复制字段组ID(可从URL的post=xxx参数获取),替换代码中的group_xxxxxx。

注意事项:

  • 字段会以field_{字段键}_vivafloors_special_dealer为键,存储在wp_options表中,前端调用时用get_field('字段键', 'vivafloors_special_dealer')获取。
  • 确保当前用户拥有edit_posts权限,避免非法提交。

内容的提问来源于stack exchange,提问作者Mr. Sam

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 15:32:39