如何重置页面,返回到WordPress的第一页(wp_query,paginate_links)?

问题描述:

我使用以下代码来处理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

试试这个代码:

$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();?>