FILE: /var/www/html/wp-includes/build/pages/options-connectors/page-wp-admin.php
SIZE: 10290 bytes
MODIFIED: 2026-08-26 05:34:27

CONTENT:
<?php
/**
 * Page: options-connectors (wp-admin integrated)
 * Auto-generated by build process.
 * Do not edit this file manually.
 *
 * This version integrates with the standard WordPress admin interface,
 * keeping the wp-admin sidebar and scripts/styles intact.
 *
 * @package wp
 */

// Global storage for options-connectors routes and menu items
global $wp_options_connectors_wp_admin_routes, $wp_options_connectors_wp_admin_menu_items;
$wp_options_connectors_wp_admin_routes     = array();
$wp_options_connectors_wp_admin_menu_items = array();

/**
 * Register a route for the options-connectors-wp-admin page.
 *
 * @param string      $path           Route path (e.g., '/types/$type/edit/$id').
 * @param string|null $content_module Script module ID for content (stage/inspector).
 * @param string|null $route_module   Script module ID for route lifecycle hooks.
 */
function wp_register_options_connectors_wp_admin_route( $path, $content_module = null, $route_module = null ) {
	global $wp_options_connectors_wp_admin_routes;

	$route = array( 'path' => $path );
	if ( ! empty( $content_module ) ) {
		$route['content_module'] = $content_module;
	}
	if ( ! empty( $route_module ) ) {
		$route['route_module'] = $route_module;
	}

	$wp_options_connectors_wp_admin_routes[] = $route;
}

/**
 * Register a menu item for the options-connectors-wp-admin page.
 * Note: Menu items are registered but not displayed in single-page mode.
 *
 * @param string $id        Menu item ID.
 * @param string $label     Display label.
 * @param string $to        Route path to navigate to.
 * @param string $parent_id Optional. Parent menu item ID.
 */
function wp_register_options_connectors_wp_admin_menu_item( $id, $label, $to, $parent_id = '' ) {
	global $wp_options_connectors_wp_admin_menu_items;

	$menu_item = array(
		'id'    => $id,
		'label' => $label,
		'to'    => $to,
	);

	if ( ! empty( $parent_id ) ) {
		$menu_item['parent'] = $parent_id;
	}

	$wp_options_connectors_wp_admin_menu_items[] = $menu_item;
}

/**
 * Get all registered routes for the options-connectors-wp-admin page.
 *
 * @return array Array of route objects.
 */
function wp_get_options_connectors_wp_admin_routes() {
	global $wp_options_connectors_wp_admin_routes;
	return $wp_options_connectors_wp_admin_routes ?? array();
}

/**
 * Get all registered menu items for the options-connectors-wp-admin page.
 *
 * @return array Array of menu item objects.
 */
function wp_get_options_connectors_wp_admin_menu_items() {
	global $wp_options_connectors_wp_admin_menu_items;
	return $wp_options_connectors_wp_admin_menu_items ?? array();
}

/**
 * Preload REST API data for the options-connectors-wp-admin page.
 * Automatically called during page rendering.
 */
function wp_options_connectors_wp_admin_preload_data() {
	// Define paths to preload - same for all pages
	// This must exactly match the _fields list in packages/core-data/src/entities.js,
	// same fields in the same order, or the preload is never consumed.
	$preload_paths = array(
		'/?_fields=description,gmt_offset,home,image_max_bit_depth,image_sizes,image_size_threshold,image_strip_meta,name,site_icon,site_icon_url,site_logo,timezone_string,url,page_for_posts,page_on_front,show_on_front',
		array( '/wp/v2/settings', 'OPTIONS' ),
	);

	// Use rest_preload_api_request to gather the preloaded data
	$preload_data = array_reduce(
		$preload_paths,
		'rest_preload_api_request',
		array()
	);

	// Register the preloading middleware with wp-api-fetch
	wp_add_inline_script(
		'wp-api-fetch',
		sprintf(
			'wp.apiFetch.use( wp.apiFetch.createPreloadingMiddleware( %s ) );',
			wp_json_encode( $preload_data )
		),
		'after'
	);
}

/**
 * Enqueue scripts and styles for the options-connectors-wp-admin page.
 * Hooked to admin_enqueue_scripts.
 *
 * @param string $hook_suffix The current admin page.
 */
function wp_options_connectors_wp_admin_enqueue_scripts( $hook_suffix ) {
	// Check all possible ways this page can be accessed:
	// 1. Menu page via admin.php?page=options-connectors-wp-admin (plugin)
	// 2. Direct file via options-connectors.php (Core) - screen ID will be 'options-connectors'
	$current_screen = get_current_screen();
	$is_our_page = (
		( isset( $_GET['page'] ) && 'options-connectors-wp-admin' === $_GET['page'] ) || // phpcs:ignore WordPress.Security.NonceVerification.Recommended
		( $current_screen && 'options-connectors' === $current_screen->id )
	);

	if ( ! $is_our_page ) {
		return;
	}

	// Load build constants
	$build_constants = require __DIR__ . '/../../constants.php';

	/**
	 * Fires when the options-connectors admin page is initialized so extensions can register routes and menu items.
	 */
	do_action( 'options-connectors-wp-admin_init' );

	// Preload REST API data
	wp_options_connectors_wp_admin_preload_data();

	// Get all registered routes
	$routes = wp_get_options_connectors_wp_admin_routes();

	// Get boot module asset file for dependencies
	$asset_file = ABSPATH . WPINC . '/js/dist/script-modules/boot/index.min.asset.php';
	if ( file_exists( $asset_file ) ) {
		$asset = require $asset_file;

		// This script serves two purposes:
		// 1. It ensures all the globals that are made available to the modules are loaded.
		// 2. It initializes the boot module as an inline script.
		wp_register_script( 'options-connectors-wp-admin-prerequisites', '', $asset['dependencies'], $asset['version'], true );

		$init_modules = [];

		/*
		 * Add inline script to initialize the app using initSinglePage (no menuItems).
		 * The dynamic import is deferred until DOMContentLoaded so that all classic
		 * script dependencies of @wordpress/boot (wp-private-apis, wp-components,
		 * wp-theme, etc.) have finished parsing and executing before the boot module
		 * evaluates. Otherwise, a modulepreloaded @wordpress/boot can win the race
		 * against the classic-script-printing pass on fast CDN-fronted hosts in
		 * Chrome, evaluating before wp.theme.privateApis is defined and throwing
		 * "Cannot unlock an undefined object". See <https://core.trac.wordpress.org/ticket/65103>.
		 */
		$init_js_function = <<<'JS'
		( mountId, routes, initModules ) => {
			const run = async () => {
				const mod = await import( "@wordpress/boot" );
				mod.initSinglePage( { mountId, routes, initModules } );
			};
			if ( document.readyState === "loading" ) {
				document.addEventListener( "DOMContentLoaded", run );
			} else {
				run();
			}
		}
		JS;
		wp_add_inline_script(
			'options-connectors-wp-admin-prerequisites',
			sprintf(
				'( %s )( %s, %s, %s );',
				$init_js_function,
				wp_json_encode( 'options-connectors-wp-admin-app', JSON_HEX_TAG | JSON_UNESCAPED_SLASHES ),
				wp_json_encode( $routes, JSON_HEX_TAG | JSON_UNESCAPED_SLASHES ),
				wp_json_encode( $init_modules, JSON_HEX_TAG | JSON_UNESCAPED_SLASHES )
			)
		);

		// Register prerequisites style by filtering script dependencies to find registered styles
		$style_dependencies = array_filter(
			$asset['dependencies'],
			function ( $handle ) {
				return wp_style_is( $handle, 'registered' );
			}
		);
		wp_register_style( 'options-connectors-wp-admin-prerequisites', false, $style_dependencies, $asset['version'] );

		// Build dependencies for options-connectors-wp-admin module
		$boot_dependencies = array(
			array(
				'import' => 'static',
				'id'     => '@wordpress/boot',
			),
		);

		// Add init modules as static dependencies
			// No init modules configured

		// Add all registered routes as dependencies
		foreach ( $routes as $route ) {
			if ( isset( $route['route_module'] ) ) {
				$boot_dependencies[] = array(
					'import' => 'static',
					'id'     => $route['route_module'],
				);
			}
			if ( isset( $route['content_module'] ) ) {
				$boot_dependencies[] = array(
					'import' => 'dynamic',
					'id'     => $route['content_module'],
				);
			}
		}

		/**
		 * Filters the boot script-module dependencies for the
		 * options-connectors-wp-admin page.
		 *
		 * Surfaces extending this page can append entries to the boot
		 * dependency list. Each entry is an array with 'import' (string
		 * 'static' or 'dynamic') and 'id' (script-module handle) keys.
		 *
		 * @param array $boot_dependencies Boot dependencies for the page.
		 */
		$boot_dependencies = apply_filters(
			'options-connectors-wp-admin_boot_dependencies',
			$boot_dependencies
		);

		// Dummy script module to ensure dependencies are loaded
		wp_register_script_module(
			'options-connectors-wp-admin',
			$build_constants['build_url'] . 'pages/options-connectors/loader.js',
			$boot_dependencies
		);

		// Enqueue the boot scripts and styles
		wp_enqueue_script( 'options-connectors-wp-admin-prerequisites' );
		wp_enqueue_script_module( 'options-connectors-wp-admin' );
		wp_enqueue_style( 'options-connectors-wp-admin-prerequisites' );
	}
}

/**
 * Render the options-connectors-wp-admin page.
 * Call this function from add_menu_page or add_submenu_page.
 * This renders within the normal WordPress admin interface.
 */
function wp_options_connectors_wp_admin_render_page() {
	?>
	<style>
		/* Critical styles to prevent layout shifts - inlined for immediate application */

		#wpwrap {
			overflow-y: auto;
		}
		body.js {
			background: #fff;
		}

		/* Reset wp-admin padding */
		body.js #wpcontent {
			padding-inline-start: 0;
		}
		body.js #wpbody-content {
			padding-bottom: 0;
		}

		/* Hide legacy admin elements */
		body.js #wpbody-content > div:not(.boot-layout-container):not(#screen-meta) {
			display: none;
		}
		body.js #wpfooter {
			display: none;
		}

		/* Accessibility regions */
		.a11y-speak-region {
			inset-inline-start: -1px;
			top: -1px;
		}

		/* Admin menu indicators */
		ul#adminmenu a.wp-has-current-submenu::after,
		ul#adminmenu > li.current > a.current::after {
			border-inline-end-color: #fff;
		}

		/* Media frame fix */
		.media-frame select.attachment-filters:last-of-type {
			width: auto;
			max-width: 100%;
		}

		/* Responsive overflow fix for #wpwrap */
		@media (min-width: 782px) {
			#wpwrap {
				overflow-y: initial;
			}
		}
	</style>
	<div id="options-connectors-wp-admin-app" class="boot-layout-container"></div>
	<?php
}

// Hook the enqueue function to admin_enqueue_scripts
add_action( 'admin_enqueue_scripts', 'wp_options_connectors_wp_admin_enqueue_scripts' );

"여름 바다 총정리" 2025 지역별 해수욕장 개장 일정 한눈에!
주요 메뉴 바로가기 (상단) 본문 컨텐츠 바로가기 주요 메뉴 바로가기 (하단)

“여름 바다 총정리” 2025 지역별 해수욕장 개장 일정 한눈에!

인포매틱스뷰

구글 검색 선호 출처로 추가

Google 검색에서 뷰어스 기사를 더 자주 볼 수 있습니다.

2025 지역별 해수욕장 개장 일정 / ⓒ인포매틱스뷰

2025 지역별 해수욕장 개장 일정 / ⓒ인포매틱스뷰

뜨거운 태양, 파도 소리, 그리고 본격적인 여름의 시작! 전국 해수욕장 개장 일정이 속속 발표되며 피서 준비에 시동이 걸렸습니다. 2025년에는 예년보다 빠르게 문을 여는 해수욕장이 많은데요.

올여름, 어디서 바다를 만날지 고민 중이라면 지금 바로 해수욕장 개장 일정을 확인하고 후회 없는 여름휴가 계획을 세워보세요!

강원도 지역 해수욕장 개장 일정

강원도 해수욕장 개장 일정 / 인포매틱스뷰
강원도 해수욕장 개장 일정 / ⓒ인포매틱스뷰

강원 해수욕장의 가장 빠른 개장은 6월 28일 경포해수욕장을 시작으로, 속초(7/4), 동해·삼척(7/9), 양양·고성(7/11) 등 대부분의 해수욕장이 7월 초~중순에 개장해 8월 중순 또는 말까지 운영됩니다.

특히 속초 해수욕장은 야간 개장(7/19~8/10)이 운영되며 밤 9시까지 시원한 해변을 즐길 수 있습니다. 강릉 경포 해수욕장도 (7/26~8/9) 야간 개장이 예정돼 있어, 로맨틱한 여름 바다를 누릴 수 있죠.

강원 지역 해수욕장은 바다색부터 다릅니다. 깊고 투명한 동해의 푸름, 고운 백사장, 설악의 산세가 어우러진 절경까지. 2025년 강원 해수욕장 개장 일정을 확인후 멋진 여름 휴가 계획을 세워보세요.

인천 지역 해수욕장 개장 일정

인천 해수욕장 개장 일정
인천 해수욕장 개장 일정 / ⓒ인포매틱스뷰

인천 지역 해수욕장 개장 일정입니다. 을왕리·왕산·하나개 해수욕장은 6월 21일부터 9월 7일까지로, 다른 해수욕장 개장 일정보다 상당히 오랜 기간 개장합니다. 유명한 해수욕장인 만큼 긴 개장일이 상당히 만족스러운 인천 지역 해수욕장입니다.

이 외에도 옹진군의 이국적인 바다가 매력적인 서포리·떼뿌루 해수욕장 개장은 7월 21일부터 8월 17일로 매우 짧습니다. 잘 확인하셔서 방문할 것을 권장합니다.

충청 지역 해수욕장 개장 일정

충청 해수욕장 개장 일정 / ⓒ인포매틱스뷰
충청 해수욕장 개장 일정 / ⓒ인포매틱스뷰

충청권 해수욕장 중에서 가장 인기가 좋은 대천·만리포 해수욕장 개장일은 7월 5일부터 8월 24일까지입니다.

이 외에도 무창포 해수욕장은 7월 12일부터 8월 24일, 태안군 21개소 해수욕장 대부분은 7월 5일부터 8월 17일까지 예정되어 있습니다.

운영시간은 오전 9시~오후 7시로, 만리포 해수욕장은 8.13~8.17 (21시까지) 야간 해수욕장 개장 일정을 알렸습니다.

전라도 지역 해수욕장 개장 일정

전라 해수욕장 개장 일정 / ⓒ인포매틱스뷰
전라 해수욕장 개장 일정 / ⓒ인포매틱스뷰

전라도 지역 해수욕장 개장일 또한 대부분 7월 초입니다. 변산반도의 아름다움을 간직한 부안군의 해수욕장(변산·고사포·격포·모항·위도) 대부분은 7월 4일부터 8월 17일까지입니다.

고창 구시포·동호 해수욕장 개장 일정은 7월 10일부터 8월 18일로 예정되어 있습니다. 슬로시티 완도의 명사십리 해수욕장 개장일은 7월 12일로 예정되어 있고, 그 외 10개소 완도 대부분의 해수욕장은 7월 25일부터 8월 17일까지로 매우 짧습니다. 

경상 지역 해수욕장 개장 일정

경상 해수욕장 개장일  ⓒ인포매틱스뷰
경상 해수욕장 개장일 / ⓒ인포매틱스뷰

울산 진하 해수욕장은 비교적 이른 6월 27일 개장하며, 울산 일산 해수욕장은 7월 1일부터 8월 31일까지, 강동 해수욕장은 7월 19일부터 8월 24일까지 각각 운영됩니다.

거제 지역 해수욕장은 7월 3일 개장해 8월 24일까지 운영되며, 남해는 7월 1일부터 8월 31일까지 긴 피서 시즌을 제공합니다. 

창원의 광암 해수욕장과 사천 해수욕장은 7월 5일 개장하며 각각 8월 24일, 8월 17일까지 피서객을 맞이합니다. 특히 광암 해변은 남해안의 청량한 바다 풍경을 감상할 수 있는 명소로 손꼽힙니다.

경주의 오류, 진호, 나정, 봉길, 관성 해수욕장 등은 7월 11일부터 8월 17일까지 운영될 예정입니다.

부산 지역 해수욕장 개장 일정

부산 해수욕장 개장 일정  ⓒ인포매틱스뷰
부산 해수욕장 개장 일정 / ⓒ인포매틱스뷰

부산을 대표하는 해운대 해수욕장은 6월 21일 개장해 무려 9월 14일까지 운영되며, 전국에서 가장 긴 운영 기간을 자랑합니다. 해운대는 매년 수많은 관광객이 몰리는 명실상부 국내 대표 여름 해수욕장으로, 일찍부터 긴 여름을 준비한 모습입니다.

송정·만리포 해수욕장 또한 해운대와 함께 6월 21일 개장할 예정이며, 8월 31일까지 운영됩니다. 서핑 명소로 사랑받는 송정 해수욕장을 통해 시원한 여름을 만끽해 보세요.

광안리와 기장 해수욕장은 7월 1일에 개장해 8월 31일까지 운영됩니다. 야경이 아름다운 광안대교와 함께 즐겨보세요.

한편, 다대포 해수욕장 역시 7월 1일 개장할 예정이며, 현재 폐장일은 미정입니다. 넓고 완만한 백사장과 산책로, 그리고 낭만적인 석양으로 많은 사랑을 받는 해수욕장입니다.

제주 지역 해수욕장 개장 일정

제주 해수욕장 개장 일정  ⓒ인포매틱스뷰
제주 해수욕장 개장 일정 / ⓒ인포매틱스뷰

2025년, 제주의 대표 해수욕장인 이호, 협재, 월정, 금능, 곽지, 함덕 해수욕장은 6월 24일부터 8월 31일까지 피서객을 맞이합니다. 특히 투명한 바다색과 고운 백사장, 야자수 풍경이 어우러진 협재와 금능 해수욕장은 해외 휴양지 남부럽지 않은 풍경이 압권입니다.

이번 여름에는 야간 개장도 함께 운영됩니다. 7월 15일부터 8월 15일까지, 협재와 이호 해수욕장은 밤 9시까지, 월정과 삼양 해수욕장은 밤 8시까지 이용이 가능해, 낮보다 더 낭만적인 제주의 밤바다를 즐길 수 있습니다.

김녕, 함덕, 중문, 표선, 신양, 삼양 해수욕장 개장 일정은 7월 1일부터 8월 31일까지 입니다.

[요약] 해수욕장 개장 일정

해수욕장 개장 일정 요약 / Designed by Freepik
해수욕장 개장 일정 요약 / Designed by Freepik

6월 해수욕장 개장

인천 을왕리(6/21), 부산 해운대(6/21), 울산 진하(6/27) 등 이른 더위를 먼저 맞이할 해수욕장입니다. 가장 먼저 해수욕장 개장을 맞이하고 싶은 분들은 필수 확인!

7월 집중 개장

전국 대부분 해수욕장은 7월 초~중순 사이 순차 개장합니다. 본격적인 여름 바다를 즐기고 싶은 분들은  7월 중순부터 방문 하면 걱정 없이 해수욕장을 이용할 수 있어요.

야간 운영 해변

밤 9시까지 일부 해수욕장은 야간 개장도 운영 합니다. (속초, 강릉, 제주 등)

폐장일은 지역별로 상이

짧게는 8월 중순, 길게는 9월 중순까지 운영됩니다. 을왕리·해운대 해수욕장처럼 인기 많은 곳들이 대부분 빠르게 시작해서 늦게 폐장하므로, 미리 확인하고 여름 해수욕을 계획해 보세요.

author-img
인포매틱스뷰
content@viewus.co.kr

댓글0

300

댓글0

[AI 추천] 랭킹 뉴스

  • ‘낙상 사고’ 허영만, 중환자실 이송…한 달째
  • 람보르기니 무르시엘라고 LP 670-4 SV 수동 경매 단 5대 경매 등장
  • 유럽의 유명 축구 구단들을 쇼핑하듯 사고있는 한국인 억만장자 여성
  • "동창회 나가지 마세요.." 55살 넘어 동창회 가면 안 되는 이유 3가지
  • "뒤통수 맞지 않으려면.." 60대 이후로 가져야할 마음가짐 3가지
  • "현관문 위쪽 나사를 돌려 보세요" 20년차 도어 기사의 '진짜 꿀팁'

당신을 위한 인기글

  • 유럽의 유명 축구 구단들을 쇼핑하듯 사고있는 한국인 억만장자 여성
    유럽의 유명 축구 구단들을 쇼핑하듯 사고있는 한국인 억만장자 여성
  • 아나운서 이혜성 “7년간 부모와도 대화 단절 상태”
    아나운서 이혜성 “7년간 부모와도 대화 단절 상태”
  • 최근 들어서 공유와 한효주가 나이들어 보이는 진짜 이유
    최근 들어서 공유와 한효주가 나이들어 보이는 진짜 이유
  • 14살에 키 172cm, 48kg으로 연예인 엄마 따라잡은 딸의 놀라운 근황
    14살에 키 172cm, 48kg으로 연예인 엄마 따라잡은 딸의 놀라운 근황
  • 전국민이 제발 결혼하라 응원했떤…세기의 커플의 최후
    전국민이 제발 결혼하라 응원했떤…세기의 커플의 최후
  • 노소영, 최태원과 이혼확정 후 집 떠나며 올린 사진 한장…모두 오열
    노소영, 최태원과 이혼확정 후 집 떠나며 올린 사진 한장…모두 오열
  • ‘KTX 논란’ 박위, 더 큰 일 발생…변호사 “법적으로 처벌될 수 있는 상황”
    ‘KTX 논란’ 박위, 더 큰 일 발생…변호사 “법적으로 처벌될 수 있는 상황”
  • 이병철 회장이 경고한 ‘약속 미루는 사람’ 4가지 특징
    이병철 회장이 경고한 ‘약속 미루는 사람’ 4가지 특징
  • 구혜선, 이혼 6년만에 엄마된 근황 깜짝 발표…’축하 물결’
    구혜선, 이혼 6년만에 엄마된 근황 깜짝 발표…’축하 물결’
  • 직함도 월급도 아니었다, 반값 급여에도 다시 출근하는 이유
    직함도 월급도 아니었다, 반값 급여에도 다시 출근하는 이유

당신을 위한 인기글

  • 유럽의 유명 축구 구단들을 쇼핑하듯 사고있는 한국인 억만장자 여성
    유럽의 유명 축구 구단들을 쇼핑하듯 사고있는 한국인 억만장자 여성
  • 아나운서 이혜성 “7년간 부모와도 대화 단절 상태”
    아나운서 이혜성 “7년간 부모와도 대화 단절 상태”
  • 최근 들어서 공유와 한효주가 나이들어 보이는 진짜 이유
    최근 들어서 공유와 한효주가 나이들어 보이는 진짜 이유
  • 14살에 키 172cm, 48kg으로 연예인 엄마 따라잡은 딸의 놀라운 근황
    14살에 키 172cm, 48kg으로 연예인 엄마 따라잡은 딸의 놀라운 근황
  • 전국민이 제발 결혼하라 응원했떤…세기의 커플의 최후
    전국민이 제발 결혼하라 응원했떤…세기의 커플의 최후
  • 노소영, 최태원과 이혼확정 후 집 떠나며 올린 사진 한장…모두 오열
    노소영, 최태원과 이혼확정 후 집 떠나며 올린 사진 한장…모두 오열
  • ‘KTX 논란’ 박위, 더 큰 일 발생…변호사 “법적으로 처벌될 수 있는 상황”
    ‘KTX 논란’ 박위, 더 큰 일 발생…변호사 “법적으로 처벌될 수 있는 상황”
  • 이병철 회장이 경고한 ‘약속 미루는 사람’ 4가지 특징
    이병철 회장이 경고한 ‘약속 미루는 사람’ 4가지 특징
  • 구혜선, 이혼 6년만에 엄마된 근황 깜짝 발표…’축하 물결’
    구혜선, 이혼 6년만에 엄마된 근황 깜짝 발표…’축하 물결’
  • 직함도 월급도 아니었다, 반값 급여에도 다시 출근하는 이유
    직함도 월급도 아니었다, 반값 급여에도 다시 출근하는 이유

공유하기