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


/********** アイコン一覧からアイコンを選択してオプションに保存するコードサンプル **********/
/* スラグやセクションID、設定名などを適宜変更して、設定画面内へ設置すると動作する */


/*** リストアイコンの選択 ***/
/* 項目の追加とデータの更新 */
function haumenu_init_field_list_pre_icon_01(){
//項目の追加
	add_settings_field(
		'list-pre-icon-01', // 設定名
		__('Icon for List','hima-art-utility'), // 設定タイトル
		'haumenu_list_pre_icon_01', // 設定項目のHTMLを出力する関数名
		haumenu_define_tab_slug_01_blockoption(), //表示させるタブのスラグ
		haumenu_define_section_id_01_blockoption(),// $section 表示させるセクションのID
		array( 'class' => 'ha-settings-separate' )
	);

}
add_action( 'admin_init', 'haumenu_init_field_list_pre_icon_01' );

/* 入力フォーム */
function haumenu_list_pre_icon_01() {
	$set_name = haumenu_define_option_name_01_blockoption();
	$options = get_option($set_name);
	$option_name = 'list-pre-icon-01';

	// 共通関数からマップを取得
	$icon_map_icomoon_js = haup_get_hau_icon_map(); // クラス => Unicode
	$icon_map_icomoon_php = array_flip($icon_map_icomoon_js); // Unicode => クラスに変換

	// データベースから保存値（Unicode）を取得。値がない場合は空文字列 ''
	$saved_unicode = esc_attr($options[ $option_name ] ?? '');

	$saved_class = '';

	// プレビューに必要なクラス名を特定
	// 保存値があり、かつマップに存在するUnicodeの場合のみクラス名を取得
	if (!empty($saved_unicode) && isset($icon_map_icomoon_php[$saved_unicode])) {
		$saved_class = $icon_map_icomoon_php[$saved_unicode];
	} else {
		// 保存値がない場合は、クラスもUnicodeも空のままにする
		$saved_class = '';
		$saved_unicode = '';
	}
?>
<div class="ha-icon-picker-container">
	<span class="ha-icon-preview <?php echo esc_html($saved_class); ?>" data-unicode="<?php echo  esc_html($saved_unicode); ?>"></span>
	<button type="button" class="button button-secondary ha-open-icon-modal">
	<?php esc_html_e('Select Icon', 'hima-art-utility'); ?>
	</button>
	<button type="button" class="button ha-clear-icon-btn">
	<?php esc_html_e('Clear', 'hima-art-utility'); ?>
	</button>
	<input name="<?php echo esc_html($set_name . '[' .$option_name. ']'); ?>"
		type="hidden"
		id="<?php echo esc_html($set_name . $option_name); ?>"
		class="ha-icon-input"
		value="<?php echo  esc_html($saved_unicode); ?>">
	</div>
<p><?php esc_html_e('Select the icon to display before each item in the list','hima-art-utility'); ?></p>
<div id="icon-selection-modal" style="display:none;">
	<div class="ha-modal-content">
		<h3><?php esc_html_e('Select Icon', 'hima-art-utility'); ?></h3>
		<button type="button" class="ha-close-icon-modal">&times;</button>
		<div class="ha-icon-list-grid">
		</div>
	</div>
</div>
<?php
}