Chức năng bạn đang sử dụng, wp_link_pages
Codex , không có tính năng bạn đang tìm kiếm theo mặc định.
Tuy nhiên, bạn có thể dễ dàng mở rộng nó bằng cách sử dụng hàm gọi lại, được đăng ký làm bộ lọc trên các đối số của hàm đó:
add_filter('wp_link_pages_args', 'wp_link_pages_args_prevnext_add');
Sau đó, bộ lọc sẽ sửa đổi các tham số được sử dụng trong chức năng đó một cách nhanh chóng và đưa các liên kết còn thiếu vào prev
và các next
đối số được xuất ra ở bên trái và bên phải của danh sách liên kết được đánh số ( next_or_number' => 'number'
):
/**
* Add prev and next links to a numbered page link list
*/
function wp_link_pages_args_prevnext_add($args)
{
global $page, $numpages, $more, $pagenow;
if (!$args['next_or_number'] == 'next_and_number')
return $args; # exit early
$args['next_or_number'] = 'number'; # keep numbering for the main part
if (!$more)
return $args; # exit early
if($page-1) # there is a previous page
$args['before'] .= _wp_link_page($page-1)
. $args['link_before']. $args['previouspagelink'] . $args['link_after'] . '</a>'
;
if ($page<$numpages) # there is a next page
$args['after'] = _wp_link_page($page+1)
. $args['link_before'] . ' ' . $args['nextpagelink'] . $args['link_after'] . '</a>'
. $args['after']
;
return $args;
}
Sử dụng:
wp_link_pages(array(
'before' => '<p>' . __('Pages:'),
'after' => '</p>',
'next_or_number' => 'next_and_number', # activate parameter overloading
'nextpagelink' => __('Next'),
'previouspagelink' => __('Previous'),
'pagelink' => '%',
'echo' => 1 )
);
Nếu chủ đề của bạn luôn sử dụng liên kết trước và liên kết tiếp theo, thì bạn có thể thay đổi chức năng một chút để biến nó thành hành vi mặc định bất cứ khi nào number
(mặc định) được sử dụng, do đó bạn cần viết ít hơn trong các chủ đề của mình.
Đây là một cách thực hiện hơi khác theo đề xuất của Velvet Blues .