如果你是 WordPress主题开发者,你肯定需要实现存档分页导航功能,虽然目前有不少方法,但是倡萌还是推荐尽量使用官方函数来实现。今天介绍的函数 paginate_links,可以用来检索归档后的页面分页链接。其实,该函数可以被用在任何地方实现分页链接(例如:WordPress 为自定义表格/列表添加分页导航功能)。
paginate_links 用法
<?php echo paginate_links( $args ); ?> |
paginate_links 默认参数
<?php $args = array( 'base' => '%_%', 'format' => '?page=%#%', 'total' => 1, 'current' => 0, 'show_all' => False, 'end_size' => 1, 'mid_size' => 2, 'prev_next' => True, 'prev_text' => __('« Previous'), 'next_text' => __('Next »'), 'type' => 'plain', 'add_args' => False, 'add_fragment' => '', 'before_page_number' => '', 'after_page_number' => '' ); ?> |
- base – 用来参考的网址
- format – 用于URL的分页结构,例如: /page/3
- total – 总页数
- current – 当前页码
- show_all – 默认值是false,如果设置为true,那么将显示所有的可用页码
- end_size – 页面显示在列表的末尾号
- mid_size – 多少个数字到当前页面的两侧,但不包括当前页面
- prev_next – 布尔值,是否包含上一页和下一页的链接
- prev_text – 前一页的文字。只有当’prev_next’参数设置为true
- next_text – 下一页的文字。只有当’prev_next’参数设置为true
- type – 定义该函数返回什么,plain, array 或 list
- add_args – 添加查询字符串参数到链接
- add_fragment – 添加文本追加到每个链接
- before_page_number – 在页码前显示的字符串
- after_page_number – 在页码后显示的字符串
paginate_links 示例
这里只简单举一个使用例子,将下面的函数添加到当前主题的 functions.php 文件:
function wpdx_paging_nav(){ global $wp_query; $big = 999999999; // 需要一个不太可能的整数 $pagination_links = paginate_links( array( 'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ), 'format' => '?paged=%#%', 'current' => max( 1, get_query_var('paged') ), 'total' => $wp_query->max_num_pages ) ); echo $pagination_links; } |
然后在主题需要显示分页链接的地方使用下面的函数调用即可:
<?php if(function_exists('wpdx_paging_nav')) wpdx_paging_nav(); ?> |
更多例子和详细介绍,请访问官方文档:http://codex.wordpress.org/Function_Reference/paginate_links
来源:
https://www.wpdaxue.com/paginate_links.html