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' );
항문 사마귀 단순한 종기 혹 이라고 치부하면 큰일나요
항문 사마귀 단순한 종기 혹 이라고 치부하면 큰일나요
항문 사마귀, 이거 이름만 들어도 좀 민망하고 창피하게 느껴지시죠? 사실 많은 분들이 이런 이유 때문에 치료를 미루거나 숨기기도 하는데, 이럴수록 문제만 더 커질 수 있으니 적극적으로 대응하는 게 정말 중요하답니다. 오늘은 이 항문 사마귀가 정확히 어떤 건지, 어떻게 생기고 어떻게 치료해야 하는지 최대한 쉽고 자세하게 알려드릴게요.
항문사마귀란?
항문 사마귀는 흔히 콘딜로마라고 불리는 질환인데요, 간단히 말하면 항문 안이나 바깥쪽 주변에 생기는 작은 혹 같은 사마귀예요. 이 사마귀는 대부분 ‘인유두종 바이러스(HPV)’라는 바이러스 때문에 생기는데, 이 바이러스가 성관계 또는 피부 간의 접촉을 통해 옮기면서 감염됩니다. 특히 성생활을 활발하게 하거나 보호되지 않은 성관계를 가지는 경우, 여러 명과의 성관계가 있는 경우에 감염될 위험이 더 커질 수 있어요.
항문 사마귀 걸렸을때 증상
항문 사마귀가 생기면 초반에는 증상이 거의 없거나, 작고 부드러운 혹이 생겨 눈치채지 못할 수도 있어요. 그런데 이 사마귀가 시간이 지나면서 커지거나 여러 개가 모여서 마치 콜리플라워처럼 덩어리를 형성하기도 하거든요. 색깔은 주로 연한 갈색이나 핑크색, 살색에 가깝고, 때로는 살짝 습한 느낌이 들면서 가렵거나 출혈이 발생하기도 합니다. 특히 항문 안쪽 깊숙이 생긴 경우에는 외부에서 발견하기 어려워서 치료가 늦어지기도 하니까 주의해야 해요.
항문 사마귀 치료 방법
그런데 항문 사마귀가 그냥 사마귀 정도라고 생각하고 방치했다가는 큰일 날 수도 있답니다. 물론 대부분의 항문 사마귀는 암으로 발전하지는 않지만, 일부 HPV 유형은 암으로 발전할 가능성도 있으니 빠르게 치료하는 게 정말 중요해요. 그리고 무엇보다 사마귀가 퍼지면 항문 전체를 뒤덮어서 굉장히 불편하고 삶의 질이 떨어지게 됩니다.
그래서 이런 증상이 조금이라도 의심된다면, 부끄럽다고 혼자 고민하지 말고 반드시 병원에 가서 진단을 받아야 합니다. 병원에서는 간단한 육안 검사나 항문경이라는 기구를 이용해 항문 내부를 검사할 수도 있고, 경우에 따라 조직검사를 통해 더욱 정확한 진단을 내리기도 해요.
치료 방법도 다양하게 있습니다. 사마귀가 작고 개수가 적다면 바르는 약으로 치료가 가능한데요, 대표적으로 이미키모드(Imiquimod), 포도필록스(Podofilox) 같은 약물이 있습니다. 이런 약들은 의료진이 처방해주는 정확한 용법대로만 사용해야 해요. 절대로 약국에서 파는 사마귀 제거제를 임의로 항문 부위에 사용하면 안 되거든요. 민감한 부위라 자극이나 염증이 심해질 수 있습니다.
사마귀가 크거나 개수가 많다면 냉동 요법으로 얼려서 제거하거나 전기 소작술을 이용해 태워서 제거하기도 하고요, 아주 심한 경우라면 외과적 수술로 사마귀를 직접 제거해야 할 수도 있습니다. 수술은 외래 진료로 간단히 할 수 있는 경우도 있지만, 마취가 필요한 경우도 있으니 의료진과 잘 상의해서 결정하면 됩니다.
예방 및 관리
치료 후에도 재발이 흔히 일어나는데요, HPV 바이러스는 체내에 남아있어서 언제든 다시 사마귀가 생길 수 있기 때문이에요. 그래서 한 번 치료를 받았다고 안심하지 말고, 꾸준히 정기적인 검진을 받아야 합니다. 그리고 치료와 함께 중요한 것이 바로 예방이에요. HPV 백신을 맞고 성관계 시에는 항상 콘돔을 사용하는 것이 가장 효과적인 예방 방법입니다.
사실 항문 사마귀라는 게 누구에게나 생길 수 있는 흔한 질환이에요. 그러니 부끄럽다고 숨기지 말고 당당하게 병원을 찾아가는 용기가 필요하답니다. 건강을 지키기 위해 조금의 용기만 내시면 훨씬 건강하고 편안한 삶을 유지할 수 있을 거예요. 여러분 모두 건강하게 지내세요!
건강한 삶을 리뷰하는 Heeee
content@viewus.co.kr
[AI 추천] 랭킹 뉴스
‘낙상 사고’ 허영만, 중환자실 이송…한 달째
람보르기니 무르시엘라고 LP 670-4 SV 수동 경매 단 5대 경매 등장
유럽의 유명 축구 구단들을 쇼핑하듯 사고있는 한국인 억만장자 여성
"동창회 나가지 마세요.." 55살 넘어 동창회 가면 안 되는 이유 3가지
"뒤통수 맞지 않으려면.." 60대 이후로 가져야할 마음가짐 3가지
"현관문 위쪽 나사를 돌려 보세요" 20년차 도어 기사의 '진짜 꿀팁'
공유하기
https://feed.viewus.co.kr/ai/article/118496/
댓글0