wp_link_pages() – The formatted output of a list of pages.
You appear to be a bot. Output may be restricted
Description
The formatted output of a list of pages.
Displays page links for paginated posts (i.e. including the <!--nextpage-->
Quicktag one or more times). This tag must be within The Loop.
Usage
$string = wp_link_pages( $args );
Parameters
- $args
- ( string|array ) optional – { Optional. Array or string of default arguments.
- $before
- ( string ) optional – HTML or text to prepend to each link. Default is `<p> Pages:`.
- $after
- ( string ) optional – HTML or text to append to each link. Default is `</p>`.
- $link_before
- ( string ) optional – HTML or text to prepend to each link, inside the
<a>
tag. Also prepended to the current item, which is not linked. Default empty. - $link_after
- ( string ) optional – HTML or text to append to each Pages link inside the
<a>
tag. Also appended to the current item, which is not linked. Default empty. - $aria_current
- ( string ) optional – The value for the aria-current attribute. Possible values are 'page', 'step', 'location', 'date', 'time', 'true', 'false'. Default is 'page'.
- $next_or_number
- ( string ) optional – Indicates whether page numbers should be used. Valid values are number and next. Default is 'number'.
- $separator
- ( string ) optional – Text between pagination links. Default is ' '.
- $nextpagelink
- ( string ) optional – Link text for the next page link, if available. Default is 'Next Page'.
- $previouspagelink
- ( string ) optional – Link text for the previous page link, if available. Default is 'Previous Page'.
- $pagelink
- ( string ) optional – Format string for page numbers. The % in the parameter string will be replaced with the page number, so 'Page %' generates "Page 1", "Page 2", etc. Defaults to '%', just the page number.
- $echo
- ( int|bool ) optional – Whether to echo or not. Accepts 1|true or 0|false. Default 1|true. }
Returns
string Formatted output in HTML.
Source
File name: wordpress/wp-includes/post-template.php
Lines:
1 to 94 of 94
function wp_link_pages( $args = '' ) { global $page, $numpages, $multipage, $more; $defaults = array( 'before' => '<p class="post-nav-links">' . __( 'Pages:' ), 'after' => '</p>', 'link_before' => '', 'link_after' => '', 'aria_current' => 'page', 'next_or_number' => 'number', 'separator' => ' ', 'nextpagelink' => __( 'Next page' ), 'previouspagelink' => __( 'Previous page' ), 'pagelink' => '%', 'echo' => 1, ); $parsed_args = wp_parse_args( $args, $defaults ); /** * Filters the arguments used in retrieving page links for paginated posts. * * @since 3.0.0 * * @param array $parsed_args An array of page link arguments. See wp_link_pages() * for information on accepted arguments. */ $parsed_args = apply_filters( 'wp_link_pages_args', $parsed_args ); $output = ''; if ( $multipage ) { if ( 'number' === $parsed_args['next_or_number'] ) { $output .= $parsed_args['before']; for ( $i = 1; $i <= $numpages; $i++ ) { $link = $parsed_args['link_before'] . str_replace( '%', $i, $parsed_args['pagelink'] ) . $parsed_args['link_after']; if ( $i != $page || ! $more && 1 == $page ) { $link = _wp_link_page( $i ) . $link . '</a>'; } elseif ( $i === $page ) { $link = '<span class="post-page-numbers current" aria-current="' . esc_attr( $parsed_args['aria_current'] ) . '">' . $link . '</span>'; } /** * Filters the HTML output of individual page number links. * * @since 3.6.0 * * @param string $link The page number HTML output. * @param int $i Page number for paginated posts' page links. */ $link = apply_filters( 'wp_link_pages_link', $link, $i ); // Use the custom links separator beginning with the second link. $output .= ( 1 === $i ) ? ' ' : $parsed_args['separator']; $output .= $link; } $output .= $parsed_args['after']; } elseif ( $more ) { $output .= $parsed_args['before']; $prev = $page - 1; if ( $prev > 0 ) { $link = _wp_link_page( $prev ) . $parsed_args['link_before'] . $parsed_args['previouspagelink'] . $parsed_args['link_after'] . '</a>'; /** This filter is documented in wp-includes/post-template.php */ $output .= apply_filters( 'wp_link_pages_link', $link, $prev ); } $next = $page + 1; if ( $next <= $numpages ) { if ( $prev ) { $output .= $parsed_args['separator']; } $link = _wp_link_page( $next ) . $parsed_args['link_before'] . $parsed_args['nextpagelink'] . $parsed_args['link_after'] . '</a>'; /** This filter is documented in wp-includes/post-template.php */ $output .= apply_filters( 'wp_link_pages_link', $link, $next ); } $output .= $parsed_args['after']; } } /** * Filters the HTML output of page links for paginated posts. * * @since 3.6.0 * * @param string $output HTML output of paginated posts' page links. * @param array|string $args An array or query string of arguments. See wp_link_pages() * for information on accepted arguments. */ $html = apply_filters( 'wp_link_pages', $output, $args ); if ( $parsed_args['echo'] ) { echo $html; } return $html; }