0

関数を使用してカテゴリをロードするcmb2選択フィールドと、カテゴリの画像をアップロードするフィールドがあります。全体として、それらはリピーター グループ フィールドを作成します。管理者側からカテゴリが設定されるたびに、それらがすべて一意であることを確認する必要があります。つまり、カテゴリを複数回入力する必要はありません (管理者が誤って)。

function bootstrap()
{
    add_action( 'cmb2_admin_init', __NAMESPACE__ . '\\fields' );
}



function fields()
{
    $meta = new_cmb2_box(
        array(
            'id'           => 'settings',
            'title'        => __( 'Settings' ),
            'object_types' => array( 'options-page' ),
            'option_key'   => 'shop_settings',
            'desc'         => __( 'Fields for storing settings' ),
        )
    );
        $group_field_id = $meta -> add_field([
        'id'   => 'my_group_field',
        'type' => 'group',
        'options'      => array(
            'add_button'        => __( 'Add Field', 'cmb2' ),
            'remove_button'     => __( 'Remove Field', 'cmb2' ),
            'sortable'          => true,
        ),
    ]);

    $meta -> add_group_field($group_field_id, [     //this is the field that requires the check

        'id'           => 'selection_list',
        'name'         => __( 'Category Name'),
        'type'         => 'select',
        'options'      => my__get_categories(),  //loads all the category names
    ]);

$meta -> add_group_field($group_field_id, [
        'id'   => 'cat_image',
        'name' => 'Category Image',
        'type' => 'file',
            'text'    => array(
                'add_upload_file_text' => 'Add or Upload Image'
            ),
            'query_args' => array(
                'type' => 'image/*',
            ),
            'preview_size' => 'large',

    ]);
}

しかし、同じことを実装する関数を作成するにはどうすればよいですか。どんな助けでも大歓迎です。前もって感謝します

4

0 に答える 0