WordPress函数:WP_Query 如何进行分页查询

07月/10日/WordPress/浏览 237

分页查询是很常见的需求,WordPress必然也提供了相应的方法,只是提供的方法有点“多”。


一般的使用 WP_Query 的 offset + posts_per_page 两个参数配合使用即可。offset指开始查询的偏移量,posts_per_page指每页的文章数量。


代码示例:


$query = new WP_Query( array( 'posts_per_page' => 5, 'offset' => 3 ) );


如果不想分页,想直接查询所有的文章,可以使用 nopaging = true,或者 posts_per_page=-1。


代码示例:


$query = new WP_Query( array( 'nopaging' => true ) );

$query = new WP_Query( array( 'posts_per_page' => -1 ) );


此外,在WordPress主题开发中,可以使用 paged 或 page 参数,在主题模板中,一些链接会自动附带paged或page参数,可以直接利用,就不用自己处理链接了。


代码示例:


$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;
$query = new WP_Query( array( 'paged' => $paged ) );


需要注意的是,在一些文章页,使用 <!--nextpage--> 生成的“分页”链接中,也有 page 参数,这种情景需要和文章列表的 page 参数加以区分。


WP_Query 的基础用法可以参考文章:WP_Query 的基础用法简介

发表评论

暂无评论,抢个沙发...

客服 工单