我创建了post类型grammer
和命名为subject
的分类法。grammer
中有近220个职位。
现在我希望从后类型grammer
中检索仅25个帖子,其中taxonomy => 'subject'
和它的段塞值是level-1-beginner
。
这些结果应该每页只有一个帖子。
我尝试使用WP_Query
,但似乎我不能限制获取的帖子总数。
$args = array (
'post_type' => 'grammer',
'post_status' => 'Published',
'tax_query' => array(
array(
'taxonomy' => 'subject',
'field' => 'slug',
'terms' => 'level-1-beginner'
)
),
'pagination' => false,
'paged' => '1',
'posts_per_page' => '1',
'order' => 'ASC',
'orderby' => 'rand');
// The Query
$query = new WP_Query( $args );
// The Loop
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
echo the_content();
}
} else {
// no posts found
} ?>
<div class="tl-pagination"><?php wp_pagenavi(); ?></div>
如有任何帮助,不胜感激。
Thansks .
您可以尝试使用分页链接,代码看起来像这样:
<?php if($query->max_num_pages > 1) : ?>
<?php previous_posts_link('« Previous Posts') ?>
<?php next_posts_link('More Posts »', ($query->max_num_pages > 25) ? 25 : $query->max_num_pages) ?>
<?php
$big = 9999999999;
$args = array(
'base' => str_replace( $big, '%#%', esc_url( get_pagenum_link( $big ) ) ),
'format' => '?paged=%#%',
'current' => max( 1, get_query_var('paged') ),
'total' => ($query->max_num_pages > 25) ? 25 : $query->max_num_pages,
'end_size' => 0,
'mid_size' => 2,
'prev_next' => False
);
echo paginate_links($args);
?>
<?php endif; ?>
total
参数将显示的页面数量限制为25。next_posts_link()
函数还有一个可以设置的最大页面数参数。
你必须样式CSS显示哪个页面是活动的。每个页码有2类:
page-numbers
,如果是当前页面:current
,那么你需要相应地设置它们的样式。