Wordpress多页查询错误

时间:2016-05-31 22:12:00

标签: php mysql wordpress

我在一个页面上有两个查询。第一个查询当前帖子,如果它是主类别的子类别,则显示这些子类别帖子。第二个查询当前类别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(); ?> 

1 个答案:

答案 0 :(得分:0)

$ paged =(get_query_var('paged'))? get_query_var('paged'):1; 在wp_query之前使用它

提供此链接 https://codex.wordpress.org/Pagination