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

CMB2如何向已通过new_cmb2_box创建的选项页新增metabox

问题原因

你给第二个metabox的配置参数错误:parent_slug是创建全新独立选项页时才需要配置的参数,要把metabox挂载到已有的选项页面上,只需要和原选项页指定同一个option_key参数即可。

修改后的可用代码

add_action( 'cmb2_admin_init', 'register_metabox2' );

function register_metabox2() {

    $cmb2 = new_cmb2_box( array(
        'id'           => 'test2',
        'title'         => 'title',
        'object_types' => array( 'options-page' ),
        // 和第一个选项页的option_key保持一致,即可挂载到已有的选项页上
        'option_key'      => 'ustawienia_motywu',
    ) );

    // 原有字段配置保持不变
    $cmb2->add_field( array(
        'name' => __( 'Test Text', 'myprefix' ),
        'desc' => __( 'field description (optional)', 'myprefix' ),
        'id'   => 'test_text',
        'type' => 'text',
        // 'default' => 'Default Text',
    ) );

    $cmb2->add_field( array(
        'name'    => __( 'Test Color Picker', 'myprefix' ),
        'desc'    => __( 'field description (optional)', 'myprefix' ),
        'id'      => 'test_colorpicker',
        'type'    => 'colorpicker',
        'default' => '#bada55',
    ) );

}

补充说明

如果你需要更精准的控制该metabox的显示条件,也可以搭配你猜测的show_on_cb参数自定义显示逻辑,示例如下:

// 仅在当前页面为目标选项页时显示该metabox
'show_on_cb' => function( $cmb ) {
    return isset( $_GET['page'] ) && $_GET['page'] === 'ustawienia_motywu';
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 23:27:04