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' );
경주애견동반 펜션숙소 라구스힐 풀빌라 온수풀 물놀이 후기

경주애견동반 펜션숙소 라구스힐 풀빌라 온수풀 물놀이 후기
안녕하세요! 여행 인플루언서 다빛입니다.
오늘은 겨울 경주 여행으로 갔다가
숙바하기 좋은 풀빌라 리뷰를 하려고 합니다.
겨울임에도 물놀이가 하고 싶은 분들이 계실텐데요.
보문호수가 보이는 인피니티풀에서
버블을 맞으며 물놀이 할 수 있는 공간이라
크리스마스 여행으로도 좋을 거 같습니다.
꼼꼼하게 리뷰해드릴테니 참고하세요!
1. 경주 풀빌라
경주에 고즈넉한 공간, 풀빌라가 많고 많지만
이번 저의 선택은 라구스힐 풀빌라 입니다.
제가 크리스마스 스팟 사냥을 하고 다니는데요.
눈이 아니라 거품이 내리는 트리명소가
있지 않겠어요?
바로 이 모습에 반해서 다녀오게 되었습니다.
뭔가 특별한 체험이나 경험을 할 수 있는 공간이
남녀노소에게 사랑을 받기 마련인데
겨울에 따뜻한 물놀이와 눈내리는 것 같은
버블을 맞을 수 있으니 딱이었습니다.
2. 102호 스위트룸
저는 102호 스위트룸에 머물게 되었는데요.
수영장 바로 앞에 있는 공간입니다.
객실에서 보문호수와 경주월드가 보이는데요.
바로 앞에 개별 테라스와 바베큐장이 있어요!
들어가자마자 거실과 부엌이 있고요.
침대방이 있습니다. 4인이 넉넉하게
머물 수 있어요!
물놀이를 하는 숙소라서 그런지
화장실이 2개 있고
내부에 큰 거실, 그리고 찜질방이 있습니다.
가족여행인데 부모님이 너무 좋아 하시더라고요.
내부에 온도 조절기가 있어서
섬세하게 찜질도 할 수 있습니다!
부엌, 거실, 방, 화장실 하나같이
인테리어도 다 너무 예뻐요!
3. 애견동반 숙소
게다가 여기는 애견동반이 가능한데요.
반려견을 데려올 경우
배변 패드에 사료 그릇까지 다 준비되어
아주 안성맞춤입니다.
제가 방문했을 때도 3객실 정도
애견동반 방문했습니다.
4. 어메니티 & 비품
일단 전자레인지, 냉장고, 식기류,
헤어드라이기, 정수기 등이 다 있고
샴푸, 린스, 바디워시는
일회용 어메니티로 있습니다.
치약은 있고 칫솔은 없으니 꼭 챙겨오세요!
먹을것과 입을것만 챙겨간다면
부족함 없이 즐길 수 있게
세심하게 준비된 공간임이 느껴졌습니다.
5. 야외바베큐
저녁은 바베큐로 즐겼습니다.
안내사항이 상세하게 적혀있어서
어렵지 않게 불을 필 수 있었고
가스라서 불조절도 더 편리했습니다.
특히나 야외 개별 베란다에 있어
방으로 냄새도 안들어오고
옷에 냄새도 안베는게 너무 좋았답니다!
이 뷰를 즐기며 먹은 야외 바베큐 역시 꿀맛!
저녁쯤 되면 공용 풀장에
버블을 뿌려주시는데요.
진짜 풍성하게 뿌려주시고
풍선껌 같은 기분 좋은 향이 나서
더 즐겁게 놀 수 있었어요!
비치볼이랑 튜브도 빌려주시니
안 놀 이유가 없겠죠!
달 조명도 있어 특히 밤에 뷰가 아주 예뻐요!
크리스마스를 미리 맞이한 느낌?
진짜 꽉 찬 버블입니다.
결국 마지막에 파묻힌 엔딩!
뷰가 너무 예쁘고 풀장이 너무 좋았습니다.
이런 특별한 경험은 어디가서도 못해봤어요!
잠을 너무 잘잤는데 침구가 정말 좋습니다.
저는 자매랑 놀러올 경우
자기 전에 무조건 동물농장 보는데
1개도 다 못보고 완전 뻗어버렸어요!
야외 풀장만으로도 너무 좋지만
실내 프라이빗 풀장이 있는 객실도 있으니
필요에 따라 고르시면 될 거 같아요!
룸 컨디션도 최고였고 인테리어도 예쁜데다가
넘 친절하기까지해서 더 좋았던 곳:)
공용풀에서 버블파티 즐기고 들어와서
마저 놀고 뜨뜻하게 스파 or 찜질방
이용까지 하면 이것이 행복이죠.
따뜻한 온수풀에서 버블 맞으며 놀고
풍성하게 즐길 사람은 모이세요~!
국내 겨울 여행 고민하신다면
경주 감성숙소가서 물놀이까지 즐기세요!
아 맞다 맞다!
+) 카운터 가시면 보드게임도 대여가능해요!
모두의마블, 다빈치 코드, 루미큐브 등
기본 보드게임들이 있으니
하면서 즐겁게 보내기시 바랍니다.
다빛의 다 빛나는 순간
content@viewus.co.kr
[AI 추천] 랭킹 뉴스
‘낙상 사고’ 허영만, 중환자실 이송…한 달째
람보르기니 무르시엘라고 LP 670-4 SV 수동 경매 단 5대 경매 등장
유럽의 유명 축구 구단들을 쇼핑하듯 사고있는 한국인 억만장자 여성
"동창회 나가지 마세요.." 55살 넘어 동창회 가면 안 되는 이유 3가지
"현관문 위쪽 나사를 돌려 보세요" 20년차 도어 기사의 '진짜 꿀팁'
"며느리가 김치를 사 먹는다고.." 시어머니가 끝내 참아야 하는 말 1위
공유하기
https://feed.viewus.co.kr/ai/article/54324/
댓글0