我创建广告自定义帖子类型register_post_type( \'videos\', $args);
和自定义分类法register_taxonomy( \'video_category_categorie\', \'videos\', $args );
Maximum number of post displayed is 2 per page. Via word press backend在存档视频中。php我编写用于显示特定分类法中的帖子(分类法项目id为3)$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$args = array( \'post_type\' => \'videos\',\'paged\' => $paged,\'tax_query\' => array(
array(
\'taxonomy\' => \'video_category_categorie\',
\'field\' => \'term_id\',
\'terms\' => 3)
));
$loop = new WP_Query( $args );
while ( $loop->have_posts() ) : $loop->the_post();
echo get_the_title().\'<br>\';
endwhile;
twentyfourteen_paging_nav();
现在我正确地得到了结果,只显示分类id 3中的pst。但分页不正确。它显示1 2 3 4。实际上,在分类id 3中有5篇文章。所以正确的分页是1 2 3。
而且,当点击第4页时,该页没有显示任何帖子名称。
请帮忙
SO网友:TheDeadMedic
我经常看到这个问题。您应该永远不需要在存档页上运行自己的查询。它不仅在服务器上引入了不必要的负载,而且还把WordPress弄糊涂了,因为它不再知道你到底在查询什么。
相反,调整主查询以满足您的需要,并坚持while ( have_posts() )
:
function wpse_177068_videos_per_page( $wp_query ) {
if ( $wp_query->is_main_query() && $wp_query->is_tax( \'video_category_categorie\', 3 ) ) {
$wp_query->set( \'posts_per_page\', 2 );
}
}
add_action( \'pre_get_posts\', \'wpse_177068_videos_per_page\' );
将此挂钩添加到
functions.php
.