/var/www/wp2.qr4y.com/www/wp-includes/blocks
NameSizeModeActions
accordion/-0755rm
accordion-heading/-0755rm
accordion-item/-0755rm
accordion-panel/-0755rm
archives/-0755rm
audio/-0755rm
avatar/-0755rm
block/-0755rm
breadcrumbs/-0755rm
button/-0755rm
buttons/-0755rm
calendar/-0755rm
categories/-0755rm
code/-0755rm
column/-0755rm
columns/-0755rm
comment-author-name/-0755rm
comment-content/-0755rm
comment-date/-0755rm
comment-edit-link/-0755rm
comment-reply-link/-0755rm
comment-template/-0755rm
comments/-0755rm
comments-pagination/-0755rm
comments-pagination-next/-0755rm
comments-pagination-numbers/-0755rm
comments-pagination-previous/-0755rm
comments-title/-0755rm
cover/-0755rm
details/-0755rm
embed/-0755rm
file/-0755rm
footnotes/-0755rm
freeform/-0755rm
gallery/-0755rm
group/-0755rm
heading/-0755rm
home-link/-0755rm
html/-0755rm
icon/-0755rm
image/-0755rm
latest-comments/-0755rm
latest-posts/-0755rm
legacy-widget/-0755rm
list/-0755rm
list-item/-0755rm
loginout/-0755rm
math/-0755rm
media-text/-0755rm
missing/-0755rm
more/-0755rm
navigation/-0755rm
navigation-link/-0755rm
navigation-overlay-close/-0755rm
navigation-submenu/-0755rm
nextpage/-0755rm
page-list/-0755rm
page-list-item/-0755rm
paragraph/-0755rm
pattern/-0755rm
playlist/-0755rm
playlist-track/-0755rm
post-author/-0755rm
post-author-biography/-0755rm
post-author-name/-0755rm
post-comments-count/-0755rm
post-comments-form/-0755rm
post-comments-link/-0755rm
post-content/-0755rm
post-date/-0755rm
post-excerpt/-0755rm
post-featured-image/-0755rm
post-navigation-link/-0755rm
post-template/-0755rm
post-terms/-0755rm
post-time-to-read/-0755rm
post-title/-0755rm
preformatted/-0755rm
pullquote/-0755rm
query/-0755rm
query-no-results/-0755rm
query-pagination/-0755rm
query-pagination-next/-0755rm
query-pagination-numbers/-0755rm
query-pagination-previous/-0755rm
query-title/-0755rm
query-total/-0755rm
quote/-0755rm
read-more/-0755rm
rss/-0755rm
search/-0755rm
separator/-0755rm
shortcode/-0755rm
site-logo/-0755rm
site-tagline/-0755rm
site-title/-0755rm
social-link/-0755rm
social-links/-0755rm
spacer/-0755rm
tab-list/-0755rm
tab-panel/-0755rm
tab-panels/-0755rm
table/-0755rm
tabs/-0755rm
tag-cloud/-0755rm
template-part/-0755rm
term-count/-0755rm
term-description/-0755rm
term-name/-0755rm
term-template/-0755rm
terms-query/-0755rm
text-columns/-0755rm
verse/-0755rm
video/-0755rm
widget-group/-0755rm
accordion-item.php30520644editdlrm
accordion.php11470644editdlrm
archives.php43850644editdlrm
avatar.php56380644editdlrm
block.php31220644editdlrm
blocks-json.php2106610644editdlrm
breadcrumbs.php190570644editdlrm
button.php42110644editdlrm
calendar.php60750644editdlrm
categories.php49380644editdlrm
comment-author-name.php21360644editdlrm
comment-content.php24590644editdlrm
comment-date.php18650644editdlrm
comment-edit-link.php17130644editdlrm
comment-reply-link.php20750644editdlrm
comment-template.php44940644editdlrm
comments-pagination-next.php19240644editdlrm
comments-pagination-numbers.php16320644editdlrm
comments-pagination-previous.php17900644editdlrm
comments-pagination.php12610644editdlrm
comments-title.php27870644editdlrm
comments.php67840644editdlrm
cover.php74040644editdlrm
details.php14980644editdlrm
file.php18790644editdlrm
footnotes.php38180644editdlrm
gallery.php223450644editdlrm
heading.php13010644editdlrm
home-link.php47030644editdlrm
icon.php43740644editdlrm
image.php176420644editdlrm
index.php51040644editdlrm
latest-comments.php56220644editdlrm
latest-posts.php104590644editdlrm
legacy-widget.php40110644editdlrm
list.php12730644editdlrm
loginout.php21230644editdlrm
media-text.php42980644editdlrm
navigation-link.php166540644editdlrm
navigation-overlay-close.php17650644editdlrm
navigation-submenu.php110500644editdlrm
navigation.php708920644editdlrm
page-list-item.php3610644editdlrm
page-list.php138630644editdlrm
paragraph.php11390644editdlrm
pattern.php17880644editdlrm
playlist-track.php24870644editdlrm
playlist.php66160644editdlrm
post-author-biography.php15240644editdlrm
post-author-name.php19620644editdlrm
post-author.php27340644editdlrm
post-comments-count.php12750644editdlrm
post-comments-form.php28050644editdlrm
post-comments-link.php22370644editdlrm
post-content.php26680644editdlrm
post-date.php36920644editdlrm
post-excerpt.php43150644editdlrm
post-featured-image.php94520644editdlrm
post-navigation-link.php48070644editdlrm
post-template.php59400644editdlrm
post-terms.php36400644editdlrm
post-time-to-read.php64110644editdlrm
post-title.php21380644editdlrm
query-no-results.php18470644editdlrm
query-pagination-next.php36760644editdlrm
query-pagination-numbers.php47000644editdlrm
query-pagination-previous.php34730644editdlrm
query-pagination.php11760644editdlrm
query-title.php27710644editdlrm
query-total.php24710644editdlrm
query.php56900644editdlrm
read-more.php18460644editdlrm
require-dynamic-blocks.php52560644editdlrm
require-static-blocks.php5350644editdlrm
rss.php46090644editdlrm
search.php256000644editdlrm
shortcode.php7350644editdlrm
site-logo.php63340644editdlrm
site-tagline.php12030644editdlrm
site-title.php18640644editdlrm
social-link.php676020644editdlrm
tab-list.php23220644editdlrm
tab-panel.php16690644editdlrm
tabs.php39490644editdlrm
tag-cloud.php15860644editdlrm
template-part.php99640644editdlrm
term-count.php18430644editdlrm
term-description.php17700644editdlrm
term-name.php20380644editdlrm
term-template.php45180644editdlrm
video.php27330644editdlrm
widget-group.php24380644editdlrm
Edit: /var/www/wp2.qr4y.com/www/wp-includes/blocks/page-list.php (13863B)
'click', false -> 'hover'. return ! empty( $deprecated_open_submenus_on_click ) ? 'click' : 'hover'; } $submenu_visibility = $context['submenuVisibility'] ?? null; // Use submenuVisibility for migrated/new blocks. return $submenu_visibility ?? 'hover'; } /** * Build an array with CSS classes and inline styles defining the colors * which will be applied to the pages markup in the front-end when it is a descendant of navigation. * * @since 5.8.0 * * @param array $attributes Block attributes. * @param array $context Navigation block context. * @return array Colors CSS classes and inline styles. */ function block_core_page_list_build_css_colors( $attributes, $context ) { $colors = array( 'css_classes' => array(), 'inline_styles' => '', 'overlay_css_classes' => array(), 'overlay_inline_styles' => '', ); // Text color. $has_named_text_color = array_key_exists( 'textColor', $context ); $has_picked_text_color = array_key_exists( 'customTextColor', $context ); $has_custom_text_color = isset( $context['style']['color']['text'] ); // If has text color. if ( $has_custom_text_color || $has_picked_text_color || $has_named_text_color ) { // Add has-text-color class. $colors['css_classes'][] = 'has-text-color'; } if ( $has_named_text_color ) { // Add the color class. $colors['css_classes'][] = sprintf( 'has-%s-color', _wp_to_kebab_case( $context['textColor'] ) ); } elseif ( $has_picked_text_color ) { $colors['inline_styles'] .= sprintf( 'color: %s;', $context['customTextColor'] ); } elseif ( $has_custom_text_color ) { // Add the custom color inline style. $colors['inline_styles'] .= sprintf( 'color: %s;', $context['style']['color']['text'] ); } // Background color. $has_named_background_color = array_key_exists( 'backgroundColor', $context ); $has_picked_background_color = array_key_exists( 'customBackgroundColor', $context ); $has_custom_background_color = isset( $context['style']['color']['background'] ); // If has background color. if ( $has_custom_background_color || $has_picked_background_color || $has_named_background_color ) { // Add has-background class. $colors['css_classes'][] = 'has-background'; } if ( $has_named_background_color ) { // Add the background-color class. $colors['css_classes'][] = sprintf( 'has-%s-background-color', _wp_to_kebab_case( $context['backgroundColor'] ) ); } elseif ( $has_picked_background_color ) { $colors['inline_styles'] .= sprintf( 'background-color: %s;', $context['customBackgroundColor'] ); } elseif ( $has_custom_background_color ) { // Add the custom background-color inline style. $colors['inline_styles'] .= sprintf( 'background-color: %s;', $context['style']['color']['background'] ); } // Overlay text color. $has_named_overlay_text_color = array_key_exists( 'overlayTextColor', $context ); $has_picked_overlay_text_color = array_key_exists( 'customOverlayTextColor', $context ); // If it has a text color. if ( $has_named_overlay_text_color || $has_picked_overlay_text_color ) { $colors['overlay_css_classes'][] = 'has-text-color'; } // Give overlay colors priority, fall back to Navigation block colors, then global styles. if ( $has_named_overlay_text_color ) { $colors['overlay_css_classes'][] = sprintf( 'has-%s-color', _wp_to_kebab_case( $context['overlayTextColor'] ) ); } elseif ( $has_picked_overlay_text_color ) { $colors['overlay_inline_styles'] .= sprintf( 'color: %s;', $context['customOverlayTextColor'] ); } // Overlay background colors. $has_named_overlay_background_color = array_key_exists( 'overlayBackgroundColor', $context ); $has_picked_overlay_background_color = array_key_exists( 'customOverlayBackgroundColor', $context ); // If has background color. if ( $has_named_overlay_background_color || $has_picked_overlay_background_color ) { $colors['overlay_css_classes'][] = 'has-background'; } if ( $has_named_overlay_background_color ) { $colors['overlay_css_classes'][] = sprintf( 'has-%s-background-color', _wp_to_kebab_case( $context['overlayBackgroundColor'] ) ); } elseif ( $has_picked_overlay_background_color ) { $colors['overlay_inline_styles'] .= sprintf( 'background-color: %s;', $context['customOverlayBackgroundColor'] ); } return $colors; } /** * Outputs Page list markup from an array of pages with nested children. * * @since 5.8.0 * * @param string $submenu_visibility The submenu visibility mode: 'hover', 'click', or 'always'. * @param boolean $show_submenu_icons Whether to show submenu indicator icons. * @param boolean $is_navigation_child If block is a child of Navigation block. * @param array $nested_pages The array of nested pages. * @param boolean $is_nested Whether the submenu is nested or not. * @param array $active_page_ancestor_ids An array of ancestor ids for active page. * @param array $colors Color information for overlay styles. * @param integer $depth The nesting depth. * * @return string List markup. */ function block_core_page_list_render_nested_page_list( $submenu_visibility, $show_submenu_icons, $is_navigation_child, $nested_pages, $is_nested, $active_page_ancestor_ids = array(), $colors = array(), $depth = 0 ) { if ( empty( $nested_pages ) ) { return; } $front_page_id = (int) get_option( 'page_on_front' ); $markup = ''; // Compute visibility mode flags once $open_on_click = 'click' === $submenu_visibility; $open_on_hover = 'hover' === $submenu_visibility; $open_always = 'always' === $submenu_visibility; foreach ( (array) $nested_pages as $page ) { $css_class = $page['is_active'] ? ' current-menu-item' : ''; $aria_current = $page['is_active'] ? ' aria-current="page"' : ''; $style_attribute = ''; $css_class .= in_array( $page['page_id'], $active_page_ancestor_ids, true ) ? ' current-menu-ancestor' : ''; if ( isset( $page['children'] ) ) { $css_class .= ' has-child'; } if ( $is_navigation_child ) { $css_class .= ' wp-block-navigation-item'; // Class assignment logic matches JS editor rendering in page-list-item/edit.js // Note: elseif ensures open-on-hover-click is mutually exclusive with open-on-click if ( $open_on_click ) { $css_class .= ' open-on-click'; } elseif ( $open_on_hover && $show_submenu_icons ) { $css_class .= ' open-on-hover-click'; } elseif ( $open_always ) { $css_class .= ' open-always'; } } $navigation_child_content_class = $is_navigation_child ? ' wp-block-navigation-item__content' : ''; // If this is the first level of submenus, include the overlay colors. if ( ( ( 0 < $depth && ! $is_nested ) || $is_nested ) && isset( $colors['overlay_css_classes'], $colors['overlay_inline_styles'] ) ) { $css_class .= ' ' . trim( implode( ' ', $colors['overlay_css_classes'] ) ); if ( '' !== $colors['overlay_inline_styles'] ) { $style_attribute = sprintf( ' style="%s"', esc_attr( $colors['overlay_inline_styles'] ) ); } } if ( (int) $page['page_id'] === $front_page_id ) { $css_class .= ' menu-item-home'; } $title = $page['title'] ? $page['title'] : __( '(no title)' ); $aria_label = sprintf( /* translators: Accessibility text. %s: Parent page title. */ __( '%s submenu' ), wp_strip_all_tags( $title ) ); $markup .= '
  • '; if ( isset( $page['children'] ) && $is_navigation_child && $open_on_click ) { $markup .= ''; } else { $markup .= '' . wp_kses_post( $title ) . ''; } if ( isset( $page['children'] ) ) { if ( $is_navigation_child && $show_submenu_icons && ! $open_on_click ) { $markup .= ''; } $markup .= ''; } $markup .= '
  • '; } return $markup; } /** * Outputs nested array of pages * * @since 5.8.0 * * @param array $current_level The level being iterated through. * @param array $children The children grouped by parent post ID. * * @return array The nested array of pages. */ function block_core_page_list_nest_pages( $current_level, $children ) { if ( empty( $current_level ) ) { return; } foreach ( (array) $current_level as $key => $current ) { if ( isset( $children[ $key ] ) ) { $current_level[ $key ]['children'] = block_core_page_list_nest_pages( $children[ $key ], $children ); } } return $current_level; } /** * Renders the `core/page-list` block on server. * * @since 5.8.0 * * @param array $attributes The block attributes. * @param string $content The saved content. * @param WP_Block $block The parsed block. * * @return string Returns the page list markup. */ function render_block_core_page_list( $attributes, $content, $block ) { static $block_id = 0; ++$block_id; $parent_page_id = $attributes['parentPageID']; $is_nested = ! empty( $block->context['core/isInsideSubmenu'] ); $all_pages = get_pages( array( 'sort_column' => 'menu_order,post_title', 'order' => 'asc', ) ); // If there are no pages, there is nothing to show. if ( empty( $all_pages ) ) { return; } $top_level_pages = array(); $pages_with_children = array(); $active_page_ancestor_ids = array(); foreach ( (array) $all_pages as $page ) { $is_active = ! empty( $page->ID ) && ( get_queried_object_id() === $page->ID ); if ( $is_active ) { $active_page_ancestor_ids = get_post_ancestors( $page->ID ); } if ( $page->post_parent ) { $pages_with_children[ $page->post_parent ][ $page->ID ] = array( 'page_id' => $page->ID, 'title' => $page->post_title, 'link' => get_permalink( $page ), 'is_active' => $is_active, ); } else { $top_level_pages[ $page->ID ] = array( 'page_id' => $page->ID, 'title' => $page->post_title, 'link' => get_permalink( $page ), 'is_active' => $is_active, ); } } $colors = block_core_page_list_build_css_colors( $attributes, $block->context ); $classes = array_merge( $colors['css_classes'] ); $style_attribute = $colors['inline_styles']; $css_classes = trim( implode( ' ', $classes ) ); $nested_pages = block_core_page_list_nest_pages( $top_level_pages, $pages_with_children ); if ( 0 !== $parent_page_id ) { // If the parent page has no child pages, there is nothing to show. if ( ! array_key_exists( $parent_page_id, $pages_with_children ) ) { return; } $nested_pages = block_core_page_list_nest_pages( $pages_with_children[ $parent_page_id ], $pages_with_children ); } $is_navigation_child = array_key_exists( 'showSubmenuIcon', $block->context ); // Get submenu visibility with backward compatibility for openSubmenusOnClick. $submenu_visibility = $is_navigation_child ? block_core_page_list_get_submenu_visibility( $block->context ) : 'hover'; $show_submenu_icons = array_key_exists( 'showSubmenuIcon', $block->context ) ? $block->context['showSubmenuIcon'] : false; $wrapper_markup = $is_nested ? '%2$s' : ''; $items_markup = block_core_page_list_render_nested_page_list( $submenu_visibility, $show_submenu_icons, $is_navigation_child, $nested_pages, $is_nested, $active_page_ancestor_ids, $colors ); $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $css_classes, 'style' => $style_attribute, ) ); return sprintf( $wrapper_markup, $wrapper_attributes, $items_markup ); } /** * Registers the `core/pages` block on server. * * @since 5.8.0 */ function register_block_core_page_list() { register_block_type_from_metadata( __DIR__ . '/page-list', array( 'render_callback' => 'render_block_core_page_list', ) ); } add_action( 'init', 'register_block_core_page_list' );