関数を使用してカテゴリをロードする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',
]);
}
しかし、同じことを実装する関数を作成するにはどうすればよいですか。どんな助けでも大歓迎です。前もって感謝します