1. 首页
  2. WordPress 函数手册

wp_link_pages()

wp_link_pages( string|array $args =  )

页面列表的格式化输出。
The formatted output of a list of pages.

目录锚点:#说明#源码#笔记


说明(Description)

显示分页文章的页面链接(即包括<!--下一页-->快速标记一次或多次)。此标记必须在循环中。


源码(Source)

/**
 * The formatted output of a list of pages.
 *
 * Displays page links for paginated posts (i.e. includes the .
 * Quicktag one or more times). This tag must be within The Loop.
 *
 * @since 1.2.0
 *
 * @global int $page
 * @global int $numpages
 * @global int $multipage
 * @global int $more
 *
 * @param string|array $args {
 *     Optional. Array or string of default arguments.
 *
 *     @type string       $before           HTML or text to prepend to each link. Default is ` Pages:`.
 *     @type string       $after            HTML or text to append to each link. Default is ``.
 *     @type string       $link_before      HTML or text to prepend to each link, inside the `` tag.
 *                                          Also prepended to the current item, which is not linked. Default empty.
 *     @type string       $link_after       HTML or text to append to each Pages link inside the `` tag.
 *                                          Also appended to the current item, which is not linked. Default empty.
 *     @type string       $next_or_number   Indicates whether page numbers should be used. Valid values are number
 *                                          and next. Default is 'number'.
 *     @type string       $separator        Text between pagination links. Default is ' '.
 *     @type string       $nextpagelink     Link text for the next page link, if available. Default is 'Next Page'.
 *     @type string       $previouspagelink Link text for the previous page link, if available. Default is 'Previous Page'.
 *     @type string       $pagelink         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.
 *     @type int|bool     $echo             Whether to echo or not. Accepts 1|true or 0|false. Default 1|true.
 * }
 * @return string Formatted output in HTML.
 */
function wp_link_pages( $args = '' ) {
	global $page, $numpages, $multipage, $more;

	$defaults = array(
		'before'           => '' . __( 'Pages:' ),
		'after'            => '',
		'link_before'      => '',
		'link_after'       => '',
		'next_or_number'   => 'number',
		'separator'        => ' ',
		'nextpagelink'     => __( 'Next page' ),
		'previouspagelink' => __( 'Previous page' ),
		'pagelink'         => '%',
		'echo'             => 1
	);

	$params = wp_parse_args( $args, $defaults );

	/**
	 * Filter the arguments used in retrieving page links for paginated posts.
	 *
	 * @since 3.0.0
	 *
	 * @param array $params An array of arguments for page links for paginated posts.
	 */
	$r = apply_filters( 'wp_link_pages_args', $params );

	$output = '';
	if ( $multipage ) {
		if ( 'number' == $r['next_or_number'] ) {
			$output .= $r['before'];
			for ( $i = 1; $i <= $numpages;="" $i++="" )="" {="" $link="$r&#91;'link_before'&#93;" .="" str_replace(="" '%',="" $i,="" $r&#91;'pagelink'&#93;="" )="" .="" $r&#91;'link_after'&#93;;="" if="" (="" $i="" !="$page" ||="" !="" $more="" &&="" 1="=" $page="" )="" {="" $link="_wp_link_page(" $i="" )="" .="" $link="" .="">';
				}
				/**
				 * Filter 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 ) ? ' ' : $r['separator'];
				$output .= $link;
			}
			$output .= $r['after'];
		} elseif ( $more ) {
			$output .= $r['before'];
			$prev = $page - 1;
			if ( $prev ) {
				$link = _wp_link_page( $prev ) . $r['link_before'] . $r['previouspagelink'] . $r['link_after'] . '';

				/** 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="" .="$r&#91;'separator'&#93;;" }="" $link="_wp_link_page(" $next="" )="" .="" $r&#91;'link_before'&#93;="" .="" $r&#91;'nextpagelink'&#93;="" .="" $r&#91;'link_after'&#93;="" .="">';

				/** This filter is documented in wp-includes/post-template.php */
				$output .= apply_filters( 'wp_link_pages_link', $link, $next );
			}
			$output .= $r['after'];
		}
	}

	/**
	 * Filter 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  $args   An array of arguments.
	 */
	$html = apply_filters( 'wp_link_pages', $output, $args );

	if ( $r['echo'] ) {
		echo $html;
	}
	return $html;
}
更新版本 源码位置 使用 被使用
5.1.0 wp-includes/post-template.php 18 19

笔记(Notes)

使用上一个/下一个选项(而不是页码);自定义文本、HTML和类:

wp_link_pages() 为WP2原创文章,链接:https://www.wp2.cn/functions/wp_link_pages/