我在一个页面上有两个查询。第一个查询当前帖子,如果它是主类别的子类别,则显示这些子类别帖子。第二个查询当前类别slug。有错误是第二个查询显示第一个查询中的类别。 wp_reset_query不工作吗?奇怪的是,这只发生在实时服务器上。我的本地工作正常。
//First query
foreach((get_the_category()) as $childcat) {
if (cat_is_ancestor_of(26, $childcat)) {
$subcat = $childcat->cat_name;
}}
$sub_query = new WP_Query( array(
'post_type' => 'work',
'category_name' => $subcat,
'posts_per_page' => 12,
'orderby'=> 'date',
'order'=> 'DESC',
'paged'=> $paged,
'post__not_in' => array( get_the_ID() )
) );
if ( $sub_query->have_posts() ): ?>
<?php while ( $sub_query->have_posts() ) : $sub_query->the_post(); ?>
// content
<?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_query(); ?>
//second query
if ( is_single() ) {
$cats = get_the_category();
$cat = $cats[0];
} else {
$cat = get_category( get_query_var( 'cat' ) );
}
$cat_slug = $cat->slug;
$work_query = new WP_Query( array(
'post_type' => 'work',
'category_name' => $cat_slug,
'posts_per_page' => 12,
'orderby'=> 'date',
'order'=> 'DESC',
'paged'=> $paged,
'post__not_in' => array( get_the_ID() )
) );
if ( $work_query->have_posts() ): ?>
<?php while ( $work_query->have_posts() ) : $work_query->the_post(); ?>
// content
<?php endwhile; ?>
<?php endif; ?>
<?php wp_reset_query(); ?>
答案 0 :(得分:0)
$ paged =(get_query_var('paged'))? get_query_var('paged'):1; 在wp_query之前使用它