我在custom post => blog
中创建了一个custom taxonomy => cat-blog
,cat-blog
有4个terms
,每个terms
都有属于该term
的帖子列表
术语示例:
-城市更新(4 post belong
)
-主页提示(6 post belong
)
-房地产指南(8 post belong
)
-房地产行业(9 post belong
)
并使用此查询
<?php
$query = new WP_Query(array('posts_per_page' => 2, 'post_type' => 'blog', 'blog-cat' => get_the_term_list( $post->ID, 'blog-cat' )));
while ($query->have_posts()) : $query->the_post();
?>
<?php
// content here
?>
<?php endwhile; ?>
<?php wp_reset_query(); ?>
<?php
?>
为了显示同一类别中的2个帖子,我只想把next
和prev
分页,这样我就可以导航帖子的其余部分,属于那个term
。
永远不要更改存档页面和主页上的自定义查询的主查询。主查询已经完成了您想要执行的操作。尝试运行自定义查询以尝试获得相同的结果就像重新发明轮子一样。它也会导致分页的问题
解决方案
-
首先,删除您的自定义查询,然后返回到主循环。以下是您在分类法中所需的全部内容。php
if( have_posts() ) { while( have_posts() ) { the_post(); //REST OF YOUR LOOP } }
-
如果需要更改主查询,请将
pre_get_posts
与条件标记结合使用。例如,如果您的分类页面上每页需要2篇文章,请在functions.php 中执行以下操作function so26499451_custom_ppp( $query ) { if ( !is_admin() && $query->is_tax() && $query->is_main_query() ) { $query->set( 'posts_per_page', '2' ); } } add_action( 'pre_get_posts', 'so26499451_custom_ppp' );
您现在可以正常地进行分页,而不会出现任何问题。现在,您将在taxonomy.hp.