2016-04-08 49 views
1

WordPress sayfalandırma, ilk wp_query sonra çalışmıyor. İlk wp_query nesnesi tarafından döndürülen veriler üzerinde bazı işlemler gerçekleştiriyorum. ancak ikinci sorgudan sonra sayfalandırma çalışmıyor. WordPress sayfalandırma düzgün çalışmıyor

<?php 

    $prop_no  = intval(get_option('wp_estate_prop_no', '')); 
    $paged  = (get_query_var('paged')) ? get_query_var('paged') : 1; 

    $args = array(
      'post_type'  => 'estate_property', 
      'author'   => $current_user->ID, 
      'paged'    => $paged, 
      'posts_per_page' => $prop_no, 
      'post_status'  => array('any'),    
     ); 

    $prop_selection = new WP_Query($args); 

    //some code 

    $args = array(
      'post_type'  => 'estate_property', 
      'author'   => $current_user->ID, 
      'paged'    => $paged, 
      'posts_per_page' => $prop_no, 
      'post__in'   => $sorted_posts, 
      'orderby'   => 'post__in' 

     ); 


    $prop_selection = new WP_Query($args); 

?> 

yanlış sonuçlara veya hiç sayfalama ya verdiği, sorguları birinden 'sayfalık' parametresini kaldırarak çalıştı. ex. Bu sorgu ilk kez 28 sonuç döndürür, ancak ikinci sorgudan sonra sadece 6 sonuç döndürür. Ve 'paged' parametresini ilk sorgudan kaldırır ve ikinci sorguya eklerseniz, 3 sayfa döndürmesi gerektiğinde yalnızca bir sayfa döndürülür.

+0

'wp_reset_postdata() 'her özel' yeni WP_Query()' sonra kullanılmalıdır. –

+0

İkinci sorgulamadan önce kullandım, ancak yine de doğru sonucu döndürmedim –

+0

Bu, sayfalandırmada ana sorgunun kullanılmasına neden oluyor, Özel sayfada veya özel arşivdeyseniz, lütfen [http://www.overoverflow] cevabına bakın. com/a/36526482). – Jevuska

cevap

0

Loop'ta sonra function.php

function sofg_pagination($max_num_pages,$paged,$page_id){ 
    if($max_num_pages > 1){ 
    echo '<div class="post-wrap pgns">'; 
    echo '<ul class="pagination_list">'; 
    echo '<li><a href="'.get_permalink($page_id).'page/1">First</a></li>'; 
    for($i=1; $i<= $max_num_pages; $i++){ 
     if($paged==$i){ 
      echo '<li class="active"><a href="'.get_permalink($page_id).'page/'.$i.'">'.$i.'</a></li>'; 
     } 
     else{ echo '<li><a href="'.get_permalink($page_id).'page/'.$i.'">'.$i.'</a></li>'; } 
    } 
    echo '<li><a href="'.get_permalink($page_id).'page/'.$max_num_pages.'">Last</a></li>'; 
    echo '</ul></div>'; 
    } 
} 

alın sayfalandırmayı Sizin listing page

döngü önce tanımlayın

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
$page_id = get_the_ID(); 

Kullanımında işlevi oluşturma

$max_num_pages_1 = $max_num_pages->max_num_pages; sofg_pagination($max_num_pages_1,$paged,$page_id); 

enter image description here

bakınız sayfalama http://hiddenwhy.igexsolutions.com/blog/

+0

Sayfalama işlevim var ve diğer durumlar için çalışıyor (Bu sayfada ikinci sorguyu kaldırırsam da). –