wordpress 自定义查询分页函数 paginate_links()

当前位置: 首页 » 文章 » WordPress » wordpress 自定义查询分页函数 paginate_links()

分类: WordPress 568阅读阅读模式

wordpress 函数paginate_links()用于任何自定义查询结果的主循环分页,包括post列表或自定义文章类型列表,或者文章存档分页、评论分页以及自定义数据等,比如想调用指定用户的所有评论并实现分页就可以通过paginate_links()函数实现。

 

默认分页

  1. <?php echo paginate_links( $args ); ?>

其中 $args 数组内容为:

  1. <?php $args = array(
  2. 'base' => '%_%',
  3. 'format' => '?paged=%#%',
  4. 'total' => 1,
  5. 'current' => 0,
  6. 'show_all' => false,
  7. 'end_size' => 1,
  8. 'mid_size' => 2,
  9. 'prev_next' => true,
  10. 'prev_text' => __('? Previous'),
  11. 'next_text' => __('Next ?'),
  12. 'type' => 'plain',
  13. 'add_args' => false,
  14. 'add_fragment' => '',
  15. 'before_page_number' => '',
  16. 'after_page_number' => ''
  17. ); ?>

参数说明:

  • base – (字符串)(可选)用于引用的 URL,被用来创建分页链接, 默认值"%_%",如"http://example.com/all_posts.php%_%",如果设置了format参数,则无效
  • format – (字符串)(可选)用于URL的分页结构,默认值"?page=%#%",如果使用了伪静态,则是"/page/%#%","%#%"表示页面,例如:/page/3
  • total – (整数)(可选)总页数,默认值为1
  • current – (整数)(可选)当前页码,默认值为0
  • show_all – (布尔)(可选)是否显示所有页面,默认值是false,如果设置为true,设置为false,则调用end_size和mid_size的设置
  • end_size – (整数)(可选)分页列表两边各显示多少个页码,默认值为1
  • mid_size – (整数)(可选)当前页面页码两边的页码数量,不包括当前页码,默认值为2
  • prev_next – (布尔)(可选)是否包含上一页和下一页的链接,默认值true
  • prev_text – (字符串)(可选)前一页的文字,"prev_next"参数设置为true时生效,默认值 __('? Previous')
  • next_text – (字符串)(可选)下一页的文字,"prev_next"参数设置为true时生效,默认值__('Next ?')
  • type – (字符串)(可选)控制返回值的格式,plain、array 或 list,默认值plain
  • add_args – (数组)(可选)添加查询字符串参数到链接,默认值false
  • add_fragment – (字符串)(可选)添加文本追加到每个链接,默认值None
  • before_page_number – (字符串)(可选)在页码前显示的字符串,默认值 None
  • after_page_number – (字符串)(可选)在页码后显示的字符串,默认值 None

使用示例:

更改上下页的展示方式

  1. <?php echo paginate_links('prev_text=上一页&next_text=下一页');?>

每个参数直接加 & 分割, = 号后面的为参数内容。如果 = 号后面参数内容为空,则表示为空。

评论分页

在评论中则常用paginate_comments_links(),由于是返回值,所以不需要 echo 。

  1. <?php paginate_comments_links( $args ) ?>

对于 $args ,评论分页既具有默认分页的全部参数,也具有额外的一些参数,值得注意的是,额外的参数会覆盖默认参数。

  1. <?php $args = array(
  2. 'base' => add_query_arg( 'cpage', '%#%' ),
  3. 'format' => '',
  4. 'total' => $max_page,
  5. 'current' => $page,
  6. 'echo' => true,
  7. 'add_fragment' => '#comments'
  8. );?>

使用示例:

  1. <?php paginate_comments_links('prev_text=上一页评论&next_text=下一页评论') ?>

 

完毕!

相关文章

评论一下

【注意1】:首次评论使用表情将会进入审核状态。
【注意2】:无意义回复、乱打文字内容将会进入审核状态。
【注意3】:涉及辱骂、色情、政治、毒品、赌博内容将会进入审核状态。
【注意】:首次评论使用表情将会进入审核状态。
暂无评论