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

/*** 特定の投稿タイプ編集画面でエディターの背景画像を無効化する ***/
function haup_disable_editor_background_image01() {
	// 1. 対象とする投稿タイプの初期値を設定し、フィルターを通す
	// 他の場所から add_filter('haup_background_disabled_post_types', ...) で拡張可能
	$post_types = apply_filters('haup_background_disabled_post_types', ['post', 'page','wp_block']);

	if (empty($post_types) || !is_array($post_types)) {
		return;
	}

	// 2. 投稿タイプごとにCSSセレクタを生成
	$selectors = array_map(function($slug) {
		return "body.block-editor-iframe__body.editor-styles-wrapper.post-type-{$slug}.wp-embed-responsive";
	}, $post_types);

	// 共通の書き込みフロー用セレクタも追加
	$selectors[] = ".editor-styles-wrapper.block-editor-writing-flow";

	// 3. CSSの組み立て
	// カンマ区切りで結合し、!importantを付与して確実に反映させる
	$css_string = implode(",\n", $selectors) . " { background-image: none !important; }";

	// 4. 改行やタブを整理（簡易的な軽量化）
	$custom_css = str_replace(["\r", "\n", "\t"], '', $css_string);

	// インラインスタイルを出力
	wp_add_inline_style('wp-edit-blocks', $custom_css);
}
if(isset( GetOP02_blocktheme()['disable-editor-bg-image'] ) && GetOP02_blocktheme()['disable-editor-bg-image'] == 1 ){
add_action('init', 'haup_disable_editor_background_image01');
}

/*** 1. ページ全体のコンテキスト（投稿画面か、パターン編集か）で出し分け ***/
function haup_disable_bg_image_for_editor(){
	$screen = get_current_screen();

	$custom_css = "";//変数の初期化
	$hook = '';//変数の初期化

	// 投稿編集画面のインサーターのみを対象
	if ($hook === 'post.php' || $hook === 'post-new.php') {
		$custom_css .= "
			.block-editor-block-preview__content-iframe body,
			.block-editor-block-preview__container .editor-styles-wrapper {
				background-image: none !important;
			}
		";
	}

	// パターンの単一編集画面のみを対象
	if (isset($screen) && $screen->post_type === 'wp_block') {
		$custom_css .= "
			.editor-styles-wrapper, .is-root-container {
				background-image: none !important;
			}
		";
	}

	if ($custom_css) {
		wp_add_inline_style('wp-block-library', $custom_css);
	}
}
if(isset( GetOP02_blocktheme()['disable-editor-bg-image'] ) && GetOP02_blocktheme()['disable-editor-bg-image'] == 1 ){
add_action('admin_enqueue_scripts','haup_disable_bg_image_for_editor');
}

/*** 2. iframeの内部（Canvas）に対して強力にスタイルを適用 ***/
function haup_disable_bg_image_for_iframe_canvas(){
	if (is_admin()) {
		$screen = get_current_screen();
        
		// サイトエディターの「一覧画面」以外、またはパターンの場合のみ発動
		if ( $screen->base !== 'site-editor' || $screen->post_type === 'wp_block' ) {
			$custom_css = "
				body.block-editor-block-preview__content-iframe,
				body.editor-styles-wrapper,
				.block-editor-block-preview__content-iframe .editor-styles-wrapper {
					background-image: none !important;
				}
			";

			wp_add_inline_style('wp-block-library', $custom_css);
		}
	}
}
if(isset( GetOP02_blocktheme()['disable-editor-bg-image'] ) && GetOP02_blocktheme()['disable-editor-bg-image'] == 1 ){
add_action('enqueue_block_assets','haup_disable_bg_image_for_iframe_canvas',999);
}

/*
function haup_add_disable_bg_image_on_editor( $post_types ){
	// 配列にカスタム投稿タイプを追加
	$post_types[] = 'news';//newsを実際のカスタム投稿タイプスラグへ変更する
	//...必要なだけ上の行を追加する

	return $post_types;
}
add_filter('haup_background_disabled_post_types', 'haup_add_disable_bg_image_on_editor');
*/