导语:当我们使用WP_Query查询后,如果结果只有一两条还可以直接显示,但如果超过几百条可能就需要对结果进行分页了。那么我们可以使用WordPress自带的函数paginate_links来进行分页,也可以自己写函数来进行分页。
使用场景
给客户做一个目的地的页面,上面显示每个省份的地图和城市,需要分页。
代码示例
请直接看下面的代码示例,主要的关键点有当前页、总计页数。先要获取当前页,将它放到查询参数里面,执行WP_Query后,获取总页数。
在paginate_links函数中设置total和current的参数,这个就是对应前面的总页数和当前页。
具体的paginate_links说明请参见:https://developer.wordpress.org/reference/functions/paginate_links/
$current_page = max(1, get_query_var('paged')); //当前第几页 //查询参数$args = array_filter(array('orderby' => 'title','order' => 'ASC','ignore_sticky_posts' => 1 ,'posts_per_page' => 10,'paged' => $current_page, //当前页)); //开始查询$query = new WP_Query($args);$total_pages = $query->max_num_pages; //总共多少页while ($query->have_posts()):$query->the_post();//自己输出代码endwhile;//输出分页echo paginate_links( array('prev_text' => __( 'Previous page', 'YChinaTours' ),'next_text' => __( 'Next page', 'YChinaTours' ),'screen_reader_text' => null,'total' => $total_pages, //总页数'current' => $current_page, //当前页数) )