0

我已经找了两天了,还没有找到解决办法。希望有人可以提供帮助。每当我添加额外的 post_type 时,分页将不会超出第一页。

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

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

archive-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' );
4

1 回答 1

0

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

于 2013-04-29T07:21:37.173 回答