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

WordPress多站点ACF自定义选项页子站点字段不显示问题

WordPress多站点ACF自定义选项页子站点字段消失的解决方法

修正选项页注册代码

你当前的自定义选项页注册写法过于简略,在多站点环境下子站点可能无法正确识别选项页的唯一标识。改成显式传递参数数组,固定菜单slug,确保所有站点的选项页标识一致:

private function __construct() {

    /** OTHER ACTIONS & FILTERS **/

    if ( function_exists( 'acf_add_options_page' ) ) {
        // 默认选项页
        acf_add_options_page();
        // 自定义选项页,显式配置参数
        acf_add_options_page(array(
            'page_title'    => 'Admin Options',
            'menu_title'    => 'Admin Options',
            'menu_slug'     => 'admin-options', // 固定slug,保证所有站点匹配
            'capability'    => 'manage_options',
            'redirect'      => false
        ));
    }
}

检查字段组位置规则

确认你的ACF字段组位置规则设置为:选项页 → 等于 → Admin Options,并且字段组在对应子站点中存在(如果是站点级激活的ACF,需要每个子站点都同步该字段组;如果是网络激活ACF,字段组会全局生效)。

确保注册代码在正确钩子执行

如果你的类构造函数执行时机过早,可能导致子站点无法完成选项页注册。建议把选项页注册逻辑放到admin_init钩子中触发:

public function init() {
    add_action('admin_init', array($this, 'register_acf_options_pages'));
}

private function register_acf_options_pages() {
    if ( function_exists( 'acf_add_options_page' ) ) {
        acf_add_options_page();
        acf_add_options_page(array(
            'page_title'    => 'Admin Options',
            'menu_title'    => 'Admin Options',
            'menu_slug'     => 'admin-options',
            'capability'    => 'manage_options',
            'redirect'      => false
        ));
    }
}

刷新子站点字段缓存

进入子站点的ACF字段组编辑页面,点击「更新」按钮,强制刷新字段组的缓存,确保系统识别到选项页关联关系。

内容的提问来源于stack exchange,提问作者Frizzant

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 11:07:19