<?php if ( !defined( 'ABSPATH' ) ) exit;//PHPの宣言と直接アクセスの拒否
/* セクションID haumenu_define_section_id_12_addcontent() */
/* タブのスラグ haumenu_define_tab_slug_12_addcontent() */
/* $option_name 設定名 haumenu_define_option_name_12_addcontent() */
/* get_option GetOP12_addcontent() */

/***** 親設定の有効／無効に合わせて子設定の表示方法を変更する *****/
/* 関数名・設定名は画面ごとに変えること（関数重複を防ぐ） */
/* add_action('admin_notices', 'current_pagehook');を追加してページ名を取得し、$page_fooksuffixの値を変える */
/* 連動マップ（ID => セレクター）の項目を編集する */

function haup_child_setting_view_control_12_addcontent( $hook_suffix ) {
	//ページフックにより出力を判断
	$page_fooksuffix = 'ha-utilitiy_page_haumenu_page_addcontent';

	if ( $page_fooksuffix !== $hook_suffix ) {
		return;
	}

	//メインスクリプトのハンドル
	$handle = 'haup-child-setting-control-js';

	// メインスクリプトが登録されていなければ終了(スクリプトの読み込みはmain-menu.phpで記述)
	if ( ! wp_script_is( $handle, 'registered' ) ) {
		return;
	}

	//設定名
	$set_name = haumenu_define_option_name_12_addcontent();

	// 連動マップ（ID => セレクター）
	// 1つのIDに対して複数のCSSクラスを指定する（1つなら1行）
	$dependency_map = array(
		$set_name . 'enable-auto-top-link' => array(
			'.auto-top-link-element-wrapper', // 要素
			'.show-auto-top-link-1-wrapper', // 1つ目のリンク表示
			'.show-auto-top-link-2-wrapper', // 2つ目のリンク表示
			'.show-auto-top-link-3-wrapper', // 3つ目のリンク表示
			'.show-auto-top-link-4-wrapper', // 4つ目のリンク表示
			'.show-auto-top-link-5-wrapper', // 5つ目のリンク表示
			'.auto-top-link-posttype-wrapper', // 自動表示させる投稿タイプ
			'.auto-top-link-text-wrapper', // リンクの文字列
			'.auto-top-link-text-color-wrapper', // 文字色
			'.auto-top-link-text-color-hover-wrapper', // ホーバー時の文字色
		),

	);

	$inner_js = "";
	foreach ( $dependency_map as $id => $selectors ) {
		foreach ( (array) $selectors as $selector ) {
			// translators: %s stands for the CSS Class & ID.
			$inner_js .= sprintf(
				"haup_apply_dependency('%s', '%s');\n",
				esc_js( $id ),
				esc_js( $selector )
			);
		}
	}

	if ( $inner_js ) {
		$js_code = "if (window.haup_apply_dependency) {\n" . $inner_js . "}";
		// 第3引数を 'after' にすることで、本体JSの直後に出力
		wp_add_inline_script( $handle, $js_code, 'after' );
	}
}
add_action( 'admin_enqueue_scripts', 'haup_child_setting_view_control_12_addcontent', 20 );

/*** 上へ戻るリンクを表示させる ***/
/* 項目の追加とデータの更新 */
function haumenu_init_field_enable_auto_top_link(){
//項目の追加
	add_settings_field(
		'enable-auto-top-link', // 設定名
		__('Enable feature','hima-art-utility'), // 設定タイトル
		'haumenu_enable_auto_top_link', // 設定項目のHTMLを出力する関数名
		haumenu_define_tab_slug_12_addcontent(), //表示させるタブのスラグ
		haumenu_define_section_id_12_addcontent(),// $section 表示させるセクションのID
		array( 'class' => 'ha-settings-separate' )
	);

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

/* 入力フォーム */
function haumenu_enable_auto_top_link() {
	$set_name = haumenu_define_option_name_12_addcontent(); //  $option_name 設定名
	$options = get_option($set_name);
	$option_name = 'enable-auto-top-link'; //個別配列名

	//テーブルに値がなかった場合の措置（PHP8.x以降への対応）
	if(isset($options[$option_name])){
		$checked = $options[$option_name];
	}else{
		$checked = '';
	}
?>
<label>
	<input type="checkbox" id="<?php echo esc_html($set_name . $option_name ); ?>" name="<?php echo esc_html($set_name . '[' .$option_name. ']'); ?>" class="wppd-ui-toggle" <?php checked( $checked , 1 ); ?> value="1">
	<p><?php esc_html_e('When enabled, automatically inserts a "back to top" link on the tag in the text according to the settings below.','hima-art-utility'); ?></p>
</label>
<details class="accordion"  style="margin: 5px 0px 0px 0px;overflow: hidden;">
<summary class="accordion__title" style="cursor: pointer;"><?php esc_html_e('When it does not transition even if it is enabled','hima-art-utility'); ?></summary>
<div class="accordion__content">
<p><?php esc_html_e('This function uses the WordPress built-in function "wp_body_open" to output the target "&lt;div id=&quot;hau-page-head&quot;&gt;&lt;/div&gt;" tag below the body tag. Masu.','hima-art-utility'); ?></p>
<p><?php esc_html_e('If you click on the link output to the page with this function and it does not move to the top of the screen, your theme may not be compatible and this tag may not have been output.','hima-art-utility'); ?></p>
<p><?php esc_html_e('Please display the source of the page and check if the "&lt;div id=&quot;hau-page-head&quot;&gt;&lt;/div&gt;" tag is output near the bottom of the body tag, and if it is not output Please try the following','hima-art-utility'); ?></p>
<h3><?php esc_html_e('For classic theme','hima-art-utility'); ?></h3>
<ol>
	<li><?php esc_html_e('Find the template (usually "header.php") that outputs the body tag in your theme (parent theme)','hima-art-utility'); ?></li>
	<li><?php esc_html_e('As a test, add "&lt;div id=&quot;hau-page-head&quot;&gt;&lt;/div&gt;" under the body tag of the parent theme template and save.','hima-art-utility'); ?></li>
	<li><?php esc_html_e('Display the browsing page and check if it works properly','hima-art-utility'); ?></li>
	<li><?php esc_html_e('Since what was added to the parent theme will be overwritten when the theme is updated, copy this template file into the child page folder and add it to the parent theme "&lt;div id=&quot;hau-page-head&quot;&gt; Remove &lt;/div&gt;','hima-art-utility'); ?></li>
	<li><?php esc_html_e('Check the operation again, and if there is no problem, the response is complete','hima-art-utility'); ?></li>
</ol>
<h3><?php esc_html_e('For block theme','hima-art-utility'); ?></h3>
<ol>
	<li><?php esc_html_e('From the admin panel, go to Appearance -> Editor','hima-art-utility'); ?></li>
	<li><?php esc_html_e('Open the header template you are using on your site','hima-art-utility'); ?></li>
	<li><?php esc_html_e('Add a custom HTML block at the top, type &lt;div id=&quot;hau-page-head&quot;&lt;/div&gt; and save','hima-art-utility'); ?></li>
	<li><?php esc_html_e('Display the browsing page and check if it works properly','hima-art-utility'); ?></li>
</ol>
</div>
</details>
<?php
}

/* 要素 */
/* 項目の追加とデータの更新 */
function haumenu_init_field_auto_top_link_element(){
//項目の追加
	add_settings_field(
		'auto-top-link-element', // 設定名
		__('Element','hima-art-utility'), // 設定タイトル
		'haumenu_auto_top_link_element', // 設定項目のHTMLを出力する関数名
		haumenu_define_tab_slug_12_addcontent(), //表示させるタブのスラグ
		haumenu_define_section_id_12_addcontent(),// $section 表示させるセクションのID
		array( 'class' => 'ha-settings-separate' )
	);

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

/* 入力フォーム */
function haumenu_auto_top_link_element() {
	$set_name = haumenu_define_option_name_12_addcontent();; //  $option_name 設定名
	$options = get_option($set_name);
	$option_name = 'auto-top-link-element'; //個別配列名

	if(isset($options[$option_name])){
		$selected = $options[$option_name];
	}else{
		$selected = '';
	}
?>
<div class="auto-top-link-element-wrapper">
<select name= '<?php echo esc_html($set_name . '[' .$option_name. ']'); ?>' >
<option value='1' <?php selected($selected , 1 ); ?> selected ><?php esc_html_e('H2', 'hima-art-utility'); ?></option>
<option value='2' <?php selected($selected , 2 ); ?>><?php esc_html_e('Section', 'hima-art-utility'); ?></option>
<option value='3' <?php selected($selected , 3 ); ?>><?php esc_html_e('H3', 'hima-art-utility'); ?></option>
<option value='4' <?php selected($selected , 4 ); ?>><?php esc_html_e('H4', 'hima-art-utility'); ?></option>
<option value='5' <?php selected($selected , 5 ); ?>><?php esc_html_e('H5', 'hima-art-utility'); ?></option>
<option value='6' <?php selected($selected , 6 ); ?>><?php esc_html_e('H6', 'hima-art-utility'); ?></option>
</select>
<p><?php esc_html_e('Select the HTML element that will automatically insert the "back to top" link in the body','hima-art-utility'); ?></p>
</div>
<?php
}

/*** 1つ目のリンク表示 ***/
/* 項目の追加とデータの更新 */
function haumenu_init_field_show_auto_top_link_1(){
//項目の追加
	add_settings_field(
		'show-auto-top-link-1', // 設定名
		'', // 設定タイトル
		'haumenu_show_auto_top_link_1', // 設定項目のHTMLを出力する関数名
		haumenu_define_tab_slug_12_addcontent(), //表示させるタブのスラグ
		haumenu_define_section_id_12_addcontent(),// $section 表示させるセクションのID
		array( 'class' => 'ha-settings-convine' )
	);

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

/* 入力フォーム */
function haumenu_show_auto_top_link_1() {
	$set_name = haumenu_define_option_name_12_addcontent(); //  $option_name 設定名
	$options = get_option($set_name);
	$option_name = 'show-auto-top-link-1'; //個別配列名

	//テーブルに値がなかった場合の措置（PHP8.x以降への対応）
	if(isset($options[$option_name])){
		$checked = $options[$option_name];
	}else{
		$checked = '';
	}
?>
<div class="show-auto-top-link-1-wrapper">
<label>
	<input type="checkbox" id="<?php echo esc_html($set_name . $option_name ); ?>" name="<?php echo esc_html($set_name . '[' .$option_name. ']'); ?>" class="wppd-ui-toggle" <?php checked( $checked , 1 ); ?> value="1">
	<p><?php esc_html_e('Display a "back to top" link above the first specified element','hima-art-utility'); ?></p>
	</label>
</div>
<?php
}

/*** 2つ目のリンク表示 ***/
/* 項目の追加とデータの更新 */
function haumenu_init_field_show_auto_top_link_2(){
//項目の追加
	add_settings_field(
		'show-auto-top-link-2', // 設定名
		'', // 設定タイトル
		'haumenu_show_auto_top_link_2', // 設定項目のHTMLを出力する関数名
		haumenu_define_tab_slug_12_addcontent(), //表示させるタブのスラグ
		haumenu_define_section_id_12_addcontent(),// $section 表示させるセクションのID
		array( 'class' => 'ha-settings-convine' )
	);

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

/* 入力フォーム */
function haumenu_show_auto_top_link_2() {
	$set_name = haumenu_define_option_name_12_addcontent(); //  $option_name 設定名
	$options = get_option($set_name);
	$option_name = 'show-auto-top-link-2'; //個別配列名

	//テーブルに値がなかった場合の措置（PHP8.x以降への対応）
	if(isset($options[$option_name])){
		$checked = $options[$option_name];
	}else{
		$checked = '';
	}
?>
<div class="show-auto-top-link-2-wrapper">
<label>
	<input type="checkbox" id="<?php echo esc_html($set_name . $option_name ); ?>" name="<?php echo esc_html($set_name . '[' .$option_name. ']'); ?>" class="wppd-ui-toggle" <?php checked( $checked , 1 ); ?> value="1">
	<p><?php esc_html_e('Display a "back to top" link above the second specified element','hima-art-utility'); ?></p>
	</label>
</div>
<?php
}

/*** 3つ目のリンク表示 ***/
/* 項目の追加とデータの更新 */
function haumenu_init_field_show_auto_top_link_3(){
//項目の追加
	add_settings_field(
		'show-auto-top-link-3', // 設定名
		'', // 設定タイトル
		'haumenu_show_auto_top_link_3', // 設定項目のHTMLを出力する関数名
		haumenu_define_tab_slug_12_addcontent(), //表示させるタブのスラグ
		haumenu_define_section_id_12_addcontent(),// $section 表示させるセクションのID
		array( 'class' => 'ha-settings-convine' )
	);

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

/* 入力フォーム */
function haumenu_show_auto_top_link_3() {
	$set_name = haumenu_define_option_name_12_addcontent(); //  $option_name 設定名
	$options = get_option($set_name);
	$option_name = 'show-auto-top-link-3'; //個別配列名

	//テーブルに値がなかった場合の措置（PHP8.x以降への対応）
	if(isset($options[$option_name])){
		$checked = $options[$option_name];
	}else{
		$checked = '';
	}
?>
<div class="show-auto-top-link-3-wrapper">
<label>
	<input type="checkbox" id="<?php echo esc_html($set_name . $option_name ); ?>" name="<?php echo esc_html($set_name . '[' .$option_name. ']'); ?>" class="wppd-ui-toggle" <?php checked( $checked , 1 ); ?> value="1">
	<p><?php esc_html_e('Display a "back to top" link above the third specified element','hima-art-utility'); ?></p>
</label>
</div>
<?php
}

/*** 4つ目のリンク表示 ***/
/* 項目の追加とデータの更新 */
function haumenu_init_field_show_auto_top_link_4(){
//項目の追加
	add_settings_field(
		'show-auto-top-link-4', // 設定名
		'', // 設定タイトル
		'haumenu_show_auto_top_link_4', // 設定項目のHTMLを出力する関数名
		haumenu_define_tab_slug_12_addcontent(), //表示させるタブのスラグ
		haumenu_define_section_id_12_addcontent(),// $section 表示させるセクションのID
		array( 'class' => 'ha-settings-convine' )
	);

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

/* 入力フォーム */
function haumenu_show_auto_top_link_4() {
	$set_name = haumenu_define_option_name_12_addcontent(); //  $option_name 設定名
	$options = get_option($set_name);
	$option_name = 'show-auto-top-link-4'; //個別配列名

	//テーブルに値がなかった場合の措置（PHP8.x以降への対応）
	if(isset($options[$option_name])){
		$checked = $options[$option_name];
	}else{
		$checked = '';
	}
?>
<div class="show-auto-top-link-4-wrapper">
<label>
	<input type="checkbox" id="<?php echo esc_html($set_name . $option_name ); ?>" name="<?php echo esc_html($set_name . '[' .$option_name. ']'); ?>" class="wppd-ui-toggle" <?php checked( $checked , 1 ); ?> value="1">
	<p><?php esc_html_e('Display a "back to top" link above the fourth specified element','hima-art-utility'); ?></p>
</label>
</div>
<?php
}

/*** 5つ目のリンク表示 ***/
/* 項目の追加とデータの更新 */
function haumenu_init_field_show_auto_top_link_5(){
//項目の追加
	add_settings_field(
		'show-auto-top-link-5', // 設定名
		'', // 設定タイトル
		'haumenu_show_auto_top_link_5', // 設定項目のHTMLを出力する関数名
		haumenu_define_tab_slug_12_addcontent(), //表示させるタブのスラグ
		haumenu_define_section_id_12_addcontent(),// $section 表示させるセクションのID
		array( 'class' => 'ha-settings-convine' )
	);

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

/* 入力フォーム */
function haumenu_show_auto_top_link_5() {
	$set_name = haumenu_define_option_name_12_addcontent(); //  $option_name 設定名
	$options = get_option($set_name);
	$option_name = 'show-auto-top-link-5'; //個別配列名

	//テーブルに値がなかった場合の措置（PHP8.x以降への対応）
	if(isset($options[$option_name])){
		$checked = $options[$option_name];
	}else{
		$checked = '';
	}
?>
<div class="show-auto-top-link-5-wrapper">
<label>
	<input type="checkbox" id="<?php echo esc_html($set_name . $option_name ); ?>" name="<?php echo esc_html($set_name . '[' .$option_name. ']'); ?>" class="wppd-ui-toggle" <?php checked( $checked , 1 ); ?> value="1">
	<p><?php esc_html_e('Display a "back to top" link above the fifth specified element','hima-art-utility'); ?></p>
</label>
</div>
<?php
}

/* 自動表示させる投稿タイプ */
/* 項目の追加とデータの更新 */
function haumenu_init_field_auto_top_link_posttype(){
//項目の追加
	add_settings_field(
		'auto-top-link-posttype', // 設定名
		__('Post Type','hima-art-utility'), // 設定タイトル
		'haumenu_auto_top_link_posttype', // 設定項目のHTMLを出力する関数名
		haumenu_define_tab_slug_12_addcontent(), //表示させるタブのスラグ
		haumenu_define_section_id_12_addcontent(),// $section 表示させるセクションのID
		array( 'class' => 'ha-settings-separate' )
	);

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

/* 入力フォーム */
function haumenu_auto_top_link_posttype() {
	$set_name = haumenu_define_option_name_12_addcontent(); //  $option_name 設定名
	$options = get_option($set_name);
	$option_name = 'auto-top-link-posttype'; //個別配列名

	if(isset($options[$option_name])){
		$selected = $options[$option_name];
	}else{
		$selected = '';
	}
?>
<div class="auto-top-link-posttype-wrapper">
<select name= '<?php echo esc_html($set_name . '[' .$option_name. ']'); ?>' >
	<option value='1' <?php selected($selected , 1 ); ?> selected ><?php esc_html_e('All Posts','hima-art-utility'); ?></option>
	<option value='2' <?php selected($selected , 2 ); ?>><?php esc_html_e('Posts and pages excluding the front page of the page', 'hima-art-utility'); ?></option>
	<option value='3' <?php selected($selected , 3 ); ?>><?php esc_html_e('All post types except static pages', 'hima-art-utility'); ?></option>
	<option value='4' <?php selected($selected , 4 ); ?>><?php esc_html_e('All post types except front page for static pages', 'hima-art-utility'); ?></option>
</select>
<p><?php esc_html_e('Specify post type patterns to automatically display links','hima-art-utility'); ?></p>
</div>
<?php
}

/*** リンクの文字列 ***/
/* 項目の追加とデータの更新 */
function haumenu_init_field_auto_top_link_text(){
//項目の追加
	add_settings_field(
		'auto-top-link-text', // 設定名
		__('Custom Link Text','hima-art-utility'), // 設定タイトル
		'haumenu_auto_top_link_text', // 設定項目のHTMLを出力する関数名
		haumenu_define_tab_slug_12_addcontent(), //表示させるタブのスラグ
		haumenu_define_section_id_12_addcontent(),// $section 表示させるセクションのID
		array( 'class' => 'ha-settings-separate' )
	);

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

/* 入力フォーム */
function haumenu_auto_top_link_text() {
	$set_name = haumenu_define_option_name_12_addcontent(); //  $option_name 設定名
	$options = get_option( $set_name );
	$option_name = 'auto-top-link-text'; //個別配列名
?>
<div class="auto-top-link-text-wrapper">
<label>
<textarea name="<?php echo esc_html($set_name . '[' .$option_name. ']'); ?>" id="<?php echo esc_html($set_name . $option_name ); ?>" cols="60" rows="1" ><?php echo esc_attr( $options[ $option_name ] ?? '' ); ?></textarea>
<p><?php esc_html_e('If you want the link string to be something other than "Go To Page Top&nbsp;&#129093;", enter it in the field below','hima-art-utility'); ?></p>
</label>
<p class="haup-admin-bk haup-admin-font-red"><?php esc_html_e('HTML tags are not allowed','hima-art-utility'); ?></p>
</div>
<?php
}

/*** 文字色 ***/
/* 項目の追加とデータの更新 */
function haumenu_init_field_auto_top_link_text_color(){
//項目の追加
	add_settings_field(
		'auto-top-link-text-color', // 設定名
		__('Text Color','hima-art-utility'), // 設定タイトル
		'haumenu_auto_top_link_text_color', // 設定項目のHTMLを出力する関数名
		haumenu_define_tab_slug_12_addcontent(), //表示させるタブのスラグ
		haumenu_define_section_id_12_addcontent(),// $section 表示させるセクションのID
		array( 'class' => 'ha-settings-separate' )
	);

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

/* 入力フォーム */
function haumenu_auto_top_link_text_color() {
	$set_name = haumenu_define_option_name_12_addcontent(); //  $option_name 設定名
	$options = get_option($set_name);
	$option_name = 'auto-top-link-text-color'; //個別配列名
?>
<div class="auto-top-link-text-color-wrapper">
<label>
<input name="<?php echo esc_html($set_name . '[' .$option_name. ']'); ?>" class="color-picker-hex" type="text" id="<?php echo esc_html($set_name . $option_name); ?>" maxlength="7" value="<?php echo esc_attr($options[ $option_name ] ?? ''); ?>" placeholder="#777" data-default-color="#777">
</label>
<p><?php esc_html_e('Specifies the text color (default is #777)','hima-art-utility'); ?></p>
</div>
<?php
}

/*** ホーバー時の文字色 ***/
/* 項目の追加とデータの更新 */
function haumenu_init_field_auto_top_link_text_color_hover(){
//項目の追加
	add_settings_field(
		'auto-top-link-text-color-hover', // 設定名
		__('Text Color on Hover','hima-art-utility'), // 設定タイトル
		'haumenu_auto_top_link_text_color_hover', // 設定項目のHTMLを出力する関数名
		haumenu_define_tab_slug_12_addcontent(), //表示させるタブのスラグ
		haumenu_define_section_id_12_addcontent(),// $section 表示させるセクションのID
		array( 'class' => 'ha-settings-separate' )
	);

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

/* 入力フォーム */
function haumenu_auto_top_link_text_color_hover() {
	$set_name = haumenu_define_option_name_12_addcontent(); //  $option_name 設定名
	$options = get_option($set_name);
	$option_name = 'auto-top-link-text-color-hover'; //個別配列名
?>
<div class="auto-top-link-text-color-hover-wrapper">
<label>
<input name="<?php echo esc_html($set_name . '[' .$option_name. ']'); ?>" class="color-picker-hex" type="text" id="<?php echo esc_html($set_name . $option_name); ?>" maxlength="7" value="<?php echo esc_attr($options[ $option_name ] ?? ''); ?>" placeholder="" data-default-color="">
</label>
<p><?php esc_html_e('Specify the text color when hovering (default is the theme standard text color)','hima-art-utility'); ?></p>
</div>
<?php
}