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

function haumenu_sanitize_optimize_ogp_tag($value){
	$value = (array) $value;
	$original_value = get_option('hautility-option-03-optimize'); // 元の値を保持

	/*** OGPタグの出力 ***/
	/* チェックボックス（存在するかどうか） */
	if ( isset( $value['output-ogptag'] ) && $value['output-ogptag'] === '1' ) {
		$value['output-ogptag'] = '1'; // 明示的に '1' を設定
	} else {
		$value['output-ogptag'] = ''; // チェックされていない場合は空文字を設定
	}

	/*** Twitterのアカウント名 ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['ogp-twitter-ac-name'] ) && is_string( $value['ogp-twitter-ac-name'] ) ) {
		$value['ogp-twitter-ac-name'] = sanitize_text_field( $value['ogp-twitter-ac-name'] ); // サニタイズ
	} else {
		if ( isset( $original_value['ogp-twitter-ac-name'] ) ) {
			$value['ogp-twitter-ac-name'] = $original_value['ogp-twitter-ac-name']; // 元の値を保持
		} else {
			$value['ogp-twitter-ac-name'] = '';
		}
	}

	/*** FacebookのID ***/
	/* テキストフィールド（文字列） */
	if ( isset( $value['ogp-facebook-id'] ) && is_string( $value['ogp-facebook-id'] ) ) {
		$value['ogp-facebook-id'] = sanitize_text_field( $value['ogp-facebook-id'] ); // サニタイズ
	} else {
		if ( isset( $original_value['ogp-facebook-id'] ) ) {
			$value['ogp-facebook-id'] = $original_value['ogp-facebook-id']; // 元の値を保持
		} else {
			$value['ogp-facebook-id'] = '';
		}
	}

	/* カードサイズ */
	/* セレクトボックス */
	if ( isset( $value['ogp-card-size'] ) ) {
		//選択肢に合わせてarrayの中身を変更
		if ( in_array( (string) $value['ogp-card-size'], array( '1', '2' ), true ) ) {
			$value['ogp-card-size'] = intval( $value['ogp-card-size'] ); // 数値として保存する場合
		} else {
			// エラーメッセージの追加を削除
			$value['ogp-card-size'] = isset( $original_value['ogp-card-size'] ) ? $original_value['ogp-card-size'] : ''; // 元の値を保持
		}
	} else {
		$value['ogp-card-size'] = '1';
	}


	/* ---------- ここまでに項目ごとの記述をする ---------- */
	return $value;//値を返す
}