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' );
데일리운동화 Archives - 뷰어스
데일리운동화 Archives - 뷰어스
#데일리운동화 (7 Posts)
삼바 가고 슈퍼스타? 제니 아디다스 스니커즈 재유행?
2026.03.06
삼바 가고 슈퍼스타? 제니 아디다스 스니커즈 재유행? 안녕하세요. 판다티비예요. 여러분, 최근에 공개된 제니의 새로운 아디다스 화보 보셨나요? 저는 보자마자 진짜 입이 떡 벌어졌거든요.. 그동안 제니 하면 삼바라는 공식이 거의 국룰이었잖아요. 그런데 이번 화보에서 전혀 예상치 못한 신발을 신고 나왔더라구요. 역시 유행은 돌고 도는 건지, 우리가 잊고 지냈던
치마에 잘 어울리는 김지영 뉴발란스 운동화 뉴발 530 요즘 가격은?
2024.06.27
치마에 잘 어울리는 김지영 뉴발란스 운동화 뉴발 530 요즘 가격은? 안녕하세요. 제이블입니다. 러블리한 김지영 치마에 어울리는 운동화 패션 함께 알아보아요. : ) 하트시그널 김지영 패션 New Balance 530 러블리한 양갈래 머리와 데님스커트, 귀여운 반팔티로 코디한 김지영님! 반팔티랑 스커트 모두 론론 제품이라고 하는데 넘나 러블리하네요. : )
휘뚤마뚤템 전소민 운동화 체커보드 반스 슬립온 가격은?
2024.04.11
휘뚤마뚤템 전소민 운동화 체커보드 반스 슬립온 가격은? 안녕하세요. 제이블입니다. 생일카페에 방문한 전소민패션 함께 알아보아요. : ) VANS 전소민은 생일을 맞아 팬들이 준비한 생일카페에 방문한 사진을 SNS를 통해 공개했는데요. 이날 전소민은 볼캡과 청바지, 톰앤제리 하프집업으로 수수한 캐주얼룩을 연출했습니다. 캐주얼룩에 코디한 전소민운동화는 반스 체
옷잘알 이청아 데일리 신발 아식스 운동화 젤 카야노14 가격은?
2024.03.30
옷잘알 이청아 데일리 신발 아식스 운동화 젤 카야노14 가격은? 안녕하세요. 제이블입니다. 이청아 데일리 신발 운동화 패션 함께 알아보아요. : ) Asics Gel-Kayano 14 옷잘알 배우 이청아가 요즘 즐겨 신는 운동화는 아식스 젤카야노 14! 캐주얼한 트레이닝 셋업과도 너무 잘 어울리는 아식스운동화에요. 이젠 대세로 자리잡은 아식스운동화로 트렌디
옷잘알 박규영 장희령 PICK 데일리 신발 나이키 운동화 추천 필드 제너럴 82 가격은?
2024.03.18
옷잘알 박규영 장희령 PICK 데일리 신발 나이키 운동화 추천 필드 제너럴 82 가격은? 안녕하세요. 제이블입니다. 요즘 옷잘알 연예인들의 데일리 신발 패션 함께 알아보아요. : ) NIKE FIELD GENERAL 82 SP 요즘 연예인들이 데일리 신발로 자주 착용하는 나이키 운동화에요. 금새록은 그레이 미디 스커트에 빨간 스타킹으로 페미닌하고 유니크한
데일리룩에 코디하기 편한 류이서 아식스 운동화는?
2024.02.21
데일리룩에 코디하기 편한 류이서 아식스 운동화는? 안녕하세요. 제이블입니다. 류이서 데일리룩에 자주 코디하는 발편한 아식스 운동화 패션 함께 알아보아요. : ) asics GEL-KAYANO 14 류이서 데일리룩에서 정말 자주 볼 수 있는 운동화는 아식스 젤 카야노 14입니다. 청바지부터 스커트, 원피스에도 잘 어울려 데일리슈즈로 코디하기 좋고 발도 편해서
어쩌다사장3 조인성 운동화 오트리 메달리스트 스니커즈
2023.11.09
어쩌다사장3 조인성 운동화 오트리 메달리스트 스니커즈 안녕하세요. 제이블입니다. 어쩌다사장3 조인성 신발 패션 함께 알아보아요. : ) 어쩌다사장3 조인성 패션이에요. 1회에서 청바지에 이자벨마랑 맨투맨과 스니커즈로 깔끔한 남친룩 코디로 눈길을 사로잡
댓글 많은 뉴스