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/kaifazhe/wordpress/wp_link_pages_1382.html