如何重置页面,请返回wordpress上的第一页(wp_query,paginate_links)


How to reset the page, go back to first page on wordpress ( wp_query,paginate_links)?

我使用以下代码来处理WordPress分页。例如,如果用户转到第9页,我的代码将回显此URL'http://jjh.com/Cute/page/9/?post_per_page=60"。

我的问题是:每当我更改post_per_page编号时,我可以将页面重置为1吗?我允许用户更改这个参数,当他们使用它时,我想重置到顶部

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

试试这个代码:

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