自定义帖子类型显示分页(w/404)或POSTS_PER_PAGE查询,但不能同时显示两者

时间:2015-12-16 作者:user5477769

我有一个自定义的帖子类型gallery, 我正在使用一个模板来存档page-student-gallery.php. 我的管理设置显示的帖子是5,我想它显示9在这个页面上,其中只包含画廊项目。

我已经能够管理查询,它可以显示9篇文章或5篇底部分页的文章,这会导致404错误。我一直在检查执行此操作的代码,但每个人似乎都有不同的方法来解决问题,并且没有一个解决方案对我有效。

存档页的我的代码:

<?php 
$paged = (get_query_var(\'paged\')) ? get_query_var(\'paged\') : 1;
$query = new WP_Query(array(
    \'post_type\' => \'gallery\',
    \'paged\' => $paged
   //\'posts_per_page\' => 9
));           
while( $query->have_posts() ) : $query->the_post(); ?>

<article class="oneThird gallery">...</article>

<?php endwhile; ?>

<ul class="pcount">
    <?php wp_pagenavi();
      wp_reset_postdata(); ?>
</ul>
我尝试使用pre_get_posts:

add_action(\'pre_get_posts\', \'show_more_posts\');
function show_more_posts($query){
    if($query->is_post_type_archive(\'gallery\') && !is_admin() && $query->is_main_query() )
       $query->set(\'post_type\', \'gallery\');
       $query->set(\'posts_per_page\', \'9\');
};
这一点我真的很困惑。实现这种设置的最佳方法是什么?

1 个回复
SO网友:Dave Romsey

user5477769在原始帖子的评论中报告,问题已经解决:

我一直在遵循自定义Post类型的UI说明,但这似乎让我误入歧途。创建archive-gallery.php 带香草色环,同时去除is_main_query 解决了所有问题,页面现在显示为9篇文章和正确的分页。

相关推荐

在Get_the_Posts_Pagination函数中编辑分页文本

我想在链接模板中编辑screen\\u reader\\u文本。php我可以在一个主题中这样做,这样它就不会在更新时被覆盖。看起来过滤器是最好的选择,但我找不到关于使用什么过滤器的文档。这是我想从链接模板更改的代码。php: if ( $GLOBALS[\'wp_query\']->max_num_pages > 1 ) { $args = wp_parse_args( $args, array( \'mid_size\' =&