2015-11-01 135 views
0

我使用以下代碼來處理WordPress分頁。例如,如果用戶轉到第9頁,我的代碼將回顯此URL 'http://jjh.com/Cute/page/9/?post_per_page=60'。如何重置頁面,返回到WordPress的第一頁(wp_query,paginate_links)?

我的問題是這樣的: 只要我更改post_per_page數字,我可以將頁面重置爲1嗎? 我允許用戶更改此參數,並且我想在使用它時重置爲頂部。

<?php 
 
//I cut some unnecessary code 
 
// I have a select dropdown to select post_per_page 
 
$arg = array(
 
\t 'post_type' => 'post', 
 
\t 'posts_per_page' => $post_per_page, 
 
\t 'cat' => $page_cat, 
 
\t 'paged' => $paged, 
 
\t 'offset' => $offset, 
 
\t 'prev_text'   => __('«'), 
 
\t 'next_text'   => __('»'), 
 
\t \t 'mid_size'   => 2 
 
\t); 
 
\t $wp_query = new WP_Query($arg); 
 
\t echo paginate_links($arg); 
 

 
?>

+0

實際問題是什麼? – Script47

+0

沒有任何與更改'$ posts_per_page'相關的代碼我們該如何提供幫助? – charlietfl

+0

我只是儘量簡化。 $ posts_per_page與我的問題無關。我想知道什麼時候選擇更改,然後重置頁碼 – conan

回答

0

試試這個代碼:

$paged = (get_query_var('paged')) ? get_query_var('paged') : 1; 
     $post_type = 'post'; 
       $args=array(
        'post_typr' => $post_type, 
        'cat' =>3, 
        'posts_per_page' => 6, 
        'paged'   => $paged, 
        'orderby' => 'title', 
        'order' => 'asc' 

       ); 
       $my_query = null; 
       $my_query = new WP_Query($args); 

添加該代碼使用後而查詢<?php if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post(); ?>

後同時查詢結束標記使用<?php $big = 999999999; // need an unlikely integer echo paginate_links(array( 'base' => str_replace($big, '%#%', get_pagenum_link($big)), 'format' => '?paged=%#%', 'current' => max(1, get_query_var('paged')), 'total' => $my_query->max_num_pages )); ?>

然後關閉if語句。 <?php endif; wp_reset_query();?>

相關問題