超过一个帖子类型失败的分页

时间:2013-04-29 04:00:31

标签: wordpress pagination

我一直在寻找两天,但还没有找到解决方案。希望有人可以提供帮助。每当我添加一个额外的post_type时,分页将不会超出第一页。

实施例: mywebsite.com/myreport/工作正常,显示10个内容

mywebsite.com/myreport/page2/导致404错误。

代码内存档-myreport.php

<?php   
$paged = 1;
if(get_query_var('paged')) {
    $paged = get_query_var('paged');
} elseif(get_query_var('page')) {
    $paged = get_query_var('page');
}

$temp = $wp_query;
$wp_query=null;

$args = array(
    'post_type' => array ( 'annual-reports', 'current-reports'),
    'post_status' => 'publish',
    'paged' => $paged,
);

$wp_query = new WP_Query( $args );

while ($wp_query->have_posts()) : $wp_query->the_post(); 
?>
<a target="blank" href="<?php the_permalink(); ?>">My Report</a>
<?php
endwhile;

previous_posts_link('Previous 10'); ?>&nbsp;&nbsp;<?php next_posts_link('Next 10');

//clear again
$wp_query = null;
//reset
$wp_query = $temp;
?>

通过pre_get_posts尝试替代方案:

我尝试添加到functions.php,在这样做之后,页面将重定向到index.php:

function wpa_post_types( $query) {
    if ( is_post_type_archive( 'myreport' )) {
        $query->set( 'post_type', array( 'annual-reports', 'current-reports' ) );
  }
}
add_action( 'pre_get_posts', 'wpa_post_types' );

1 个答案:

答案 0 :(得分:0)

而不是WP_query尝试使用query_posts,看看这是否能解决您的问题。