WP Pagenavi和两种不同的帖子类型不正确的分页

时间:2016-04-30 12:34:04

标签: wordpress

任何人都知道WP_Pagenavi是否支持使用两种不同的帖子类型分页自定义存档?

例如:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;

$parameters = array(
    'paged'=>$paged,
    'posts_per_page' => 10,
    'post_type' => array('post', 'portfolio')
);

$home_stream = new WP_Query( $parameters );

wp_pagenavi(array('query'=>$home_stream));

// ... do my loop stuff

wp_pagenavi(array('query'=>$home_stream));

这会导致显示正确数量的页码(在我的情况下为18),但点击超出第一个帖子类型(帖子,第14页)页数的任何页面都会产生404分页存档。

1 个答案:

答案 0 :(得分:0)

我不完全确定这是否会回答你的问题,但这可能有所帮助。

以下代码设置特定帖子类型的主查询(将其放入funcitons.php)中的每页帖子。

    function wpse_modify_video_archive_query( $query ) {
    // Only apply to the main loop on the frontend.
    if ( is_admin() || ! $query->is_main_query()) {
        return false;
    } 
    if ( $query->is_post_type_archive( 'video' ) ) {
        $query->set( 'posts_per_page', 6 );
    }
    if ( $query->is_post_type_archive( 'testimonial' ) ) {
        $query->set( 'posts_per_page', 8 );
    }
}
add_action( 'pre_get_posts', 'wpse_modify_video_archive_query' );

这会将每页的视频帖子类型帖子设置为6,将每页的推荐帖子设置为8。

如果要在页面上修改原始查询,可以使用

wp_reset_postdata();

在创建新查询之前。