我一直在寻找两天,但还没有找到解决方案。希望有人可以提供帮助。每当我添加一个额外的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'); ?> <?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' );
答案 0 :(得分:0)
而不是WP_query
尝试使用query_posts
,看看这是否能解决您的问题。