<?php if ( !defined( 'ABSPATH' ) ) exit;//PHPの宣言と直接アクセスの拒否

/*** 選択されたブロックを「自作カテゴリー」へ強制移動 ***/
function haup_move_selected_blocks_to_custom_category( $args, $name ) {
// 1. オプションの親配列名（設定名）を取得
	$set_name = haumenu_define_option_name_02_utility(); // ※関数名は既存の定義に合わせて調整してください

	// 2. データベースから親配列を丸ごと取得
	$options = get_option( $set_name );

	// 3. 親配列の中から 'favorite-blocks' の配列を取り出す（末尾のセミコロンを忘れずに！）
	$selected_blocks = isset( $options['favorite-blocks'] ) && is_array( $options['favorite-blocks'] ) ? $options['favorite-blocks'] : array();

	// 選択されたブロックリストに含まれている場合のみ、カテゴリーを書き換える
	if ( in_array( $name, $selected_blocks ) ) {
		$args['category'] = 'haup-favorite-block-category'; // あなたの自作カテゴリーID
	}

	return $args;
}
add_filter( 'register_block_type_args', 'haup_move_selected_blocks_to_custom_category', 99, 2 );

/*** 「お気に入り」カテゴリーを最先頭に登録 ***/
function haup_register_custom_block_category_at_top( $categories, $post ) {
	// すでに存在するかチェック
	foreach ( $categories as $cat ) {
		if ( $cat['slug'] === 'haup-favorite-block-category' ) return $categories;
	}

	// 先頭に追加
	array_unshift( $categories,
		array(
			'slug' => 'haup-favorite-block-category',
			'title' => __('Favorite Blocks','hima-art-utility'),
			'icon' => 'category',
		)
	);

	return $categories;
}
add_filter( 'block_categories_all', 'haup_register_custom_block_category_at_top', 10, 2 );