2015-10-01 75 views
1

我有WP分頁問題。Wordpress分頁,wp_query不工作在第2頁

此前,我的分頁工作在分類頁面上,在第2頁上顯示的結果與靜態主頁上的第1頁上的結果相同。 我找到了解決這個問題的辦法,3天前我所有的頁面都能正常工作。

直到昨天:現在分頁仍然在分類頁面上工作,但在我的靜態主頁上,第1頁起作用,但第2頁和更多返回「此類別中沒有文章」,就像wp_query循環找不到結果一樣。

未編輯任何文件,功能與3天前相同。 PS:如果我刪除了第一個錯誤(第2頁顯示與第1頁相同)的錯誤,錯誤不會回來,主頁第2頁仍然返回「此類別中沒有文章」;

這裏是我的代碼:

// Define $post_type in previous included file, already checked if parameter correctly retrieved 
    $post_type = array('magicrecipe', 'post', 'yoga-article', 'feelgood', 'gastronomie', 'voyage'); 

    <ul class="articlesList row mw"> 

    <?php 

    $taxQuery = array('taxonomy' => $taxonomy, 
       'field' => 'slug', 
       'terms' => $categoryValue); 

    // "Page 2 show the same than page 1" fix 
    if (get_query_var('paged')) { $paged = get_query_var('paged'); } 
    elseif (get_query_var('page')) { $paged = get_query_var('page'); } 
    else { $paged = 1; } 


    if ($search) { 
     $args = array(
     'posts_per_page' => 12, 
     'paged'=>$paged, 
     'orderby'=> 'date' 
     ); 
     $args['s'] = $search; 
    }else{ 
     $args = array(
      'post_type' => $post_type, 
      'posts_per_page' => 12, 
      'orderby'=> 'date', 
      'paged'=> $paged, 
      'tax_query' => array(array($taxQuery)) 
     ); 
    } 

    $loop = new WP_Query($args); 

    $count = $loop->post_count; 

    // Pagination fix 
    $temp_query = $wp_query; 
    $wp_query = NULL; 
    $wp_query = $loop; 

    if ($count == 0) { 
     echo '<p class="articles-noArticle">Il n\'y a pas encore d\'article dans cette catégorie !</p>'; 
    } else { 

     // starting loop 
     while ($wp_query->have_posts()) : $wp_query->the_post(); 
     ?> 
     <li class="articlesList articles-article col-1-4 col-m-1-2 col-s-1-1"> 
      <a href="articles-link"> 
       <div class="articles-thumbContainer js-squareThumb"> 
        <a href="<?php the_permalink(); ?>" title="<?php the_title_attribute(); ?>"> 
         <?php the_post_thumbnail(array(500, 500), array('class' => 'articles-thumb')); ?> 
        </a> 
       </div> 
       <h3 class="article-title"><a href="<?php echo get_post_permalink(); ?>"><?php the_title(); ?></a></h3> 
       <p class="article-excerpt"><?php the_excerpt(); ?></p> 
       <a href="<?php the_permalink(); ?>" class="article-link">En savoir plus</a> 
      </a> 
     </li> 


    <?php 
    endwhile; 
} 
</ul> 
<div class="pagination"> 
<?php 
    // Custom query loop pagination 
    echo paginate_links(); 
    // wp_reset_query(); 
?> 
</div> 

感謝您的幫助,我到處尋找,但發現這個問題任何事情。

回答

0

您有太多的條件。

<?php 

    //You don't need that 
    /*if (get_query_var('paged')) { $paged = get_query_var('paged'); } 
    elseif (get_query_var('page')) { $paged = get_query_var('page'); } 
    else { $paged = 1; }*/ 

    //Try this: 
    <?php 
      wp_reset_query(); 
      $paged = get_query_var('paged', 1); 

      $args = array(
      'post_type' => $post_type, 
      'posts_per_page' => '12', 
      'paged' => $paged, 
      'order' => 'DESC', 
      'orderby' => 'post-date' 
     ); 
      $loop = new WP_Query($args); 
      ?> 
+0

我解決了這個問題: $ queryPaged = get_query_var( '分頁'); \t \t if($ queryPaged){$ paged = get_query_var('paged'); } \t \t elseif(get_query_var('page')){$ paged = get_query_var('page'); } \t \t else {$ paged = 1; } \t \t $ paged; \t \t如果($搜索){ \t \t \t的$ args =陣列( \t \t \t 'posts_per_page'=> 12, \t \t \t '尋呼'=> $尋呼, \t \t \t '的OrderBy'= >'date' \t \t \t); \t \t \t $ args ['s'] = $ search; \t \t}否則{ \t \t \t的$ args =陣列( \t \t \t \t 'post_type'=> $ post_type, \t \t \t \t 'posts_per_page'=> 12, \t \t \t \t '的OrderBy'=> '日期', \t \t \t \t 'tax_query'=>數組(數組($ taxQuery)), \t \t \t \t'paged'=> $ paged \t \t \t); \t \t} – user3332321