wp_link_pages函数简介
wp_link_pages( string|array $args = '' )wp_link_pages函数参数
默认参数中的数组或字符串。(string)'before':链接的前缀文本,在链接之前用来放置HTML或文本,缺省是<p> Pages:;
(string)'after':在链接之后放置HTML或文本,缺省是</p>;
(string)'link_before':在<a> tag之内链接之前的文本。付加在当前条目前面,不是一个链接;
(string)'aria_current':当前页面的标识,可能的选项有 'page', 'step', 'location', 'date', 'time', 'true', 'false'。默认值为“page”。
(string)'next_or_number':指示是否应该使用页码。有效的值是数字和下一个。默认值为“number”。
(string)'nextpagelink':下一个链接的显示文本,默认是'Next Page'。
(string)'previouspagelink':上一个链接显示的文本,默认是'Previous Page'。
(string)'pagelink':格式化的显示页码,参数中的'%'将被替换为页码,例如 'Page %' generates "Page 1", "Page 2"等等,缺省是'%'。
(int|bool) 'echo':是否输出,接受1|true,0|false这样的值。缺省值是true。
wp_link_pages函数源代码
File: wp-includes/post-template.php,更多wordpress相关问题,请关注青锋建站官网。
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;
}
转载请注明来源网址:青锋建站-http://www.sjzphp.com/cmsxitong/wordpressxt/wp_link_pages_1382.html