Php 当don';t保留初始查询对象

Php 当don';t保留初始查询对象,php,wordpress,Php,Wordpress,在自定义主题的自定义页面模板上,我有以下查询。当我这样做时,分页正在工作: $myqueryname = $wp_query; $mypost_args = array( 'post_type' => 'friends', 'orderby' => 'title', 'order' => 'ASC', 'posts_per_page' => 4, 'paged' => $paged); $wp_query = new WP_Query($mypost_args

在自定义主题的自定义页面模板上,我有以下查询。当我这样做时,分页正在工作:

 $myqueryname = $wp_query;
 $mypost_args = array( 'post_type' => 'friends', 'orderby' => 'title', 'order' => 'ASC', 'posts_per_page' => 4, 'paged' => $paged);
 $wp_query = new WP_Query($mypost_args);
 while ( $wp_query->have_posts() ) : $wp_query->the_post();

    Some html.....

 endwhile;

 previous_posts_link('Prev');
 next_posts_link('Next');
$mypost_args = array( 'post_type' => 'friends', 'orderby' => 'title', 'order' => 'ASC');
$loop = new WP_Query( $mypost_args );
while ( $loop->have_posts() ) : $loop->the_post();
         Some html.....

endwhile;

previous_posts_link('Prev');
next_posts_link('Next');
wp_reset_query();
但当我使用这种方式时,分页不起作用:

 $myqueryname = $wp_query;
 $mypost_args = array( 'post_type' => 'friends', 'orderby' => 'title', 'order' => 'ASC', 'posts_per_page' => 4, 'paged' => $paged);
 $wp_query = new WP_Query($mypost_args);
 while ( $wp_query->have_posts() ) : $wp_query->the_post();

    Some html.....

 endwhile;

 previous_posts_link('Prev');
 next_posts_link('Next');
$mypost_args = array( 'post_type' => 'friends', 'orderby' => 'title', 'order' => 'ASC');
$loop = new WP_Query( $mypost_args );
while ( $loop->have_posts() ) : $loop->the_post();
         Some html.....

endwhile;

previous_posts_link('Prev');
next_posts_link('Next');
wp_reset_query();
我想知道为什么会这样?有什么区别?抱歉,如果我的问题含糊不清,但这将帮助我更好地理解wordpress的工作方式,而不仅仅是从论坛复制粘贴代码

高级版谢谢。

如果您查看get_next_posts_链接(调用
next_posts_链接
的函数)的功能,它有以下代码:

global $paged, $wp_query;

if ( !$max_page )
    $max_page = $wp_query->max_num_pages;
...
这就是

如果查看get_next_posts_链接(调用
next_posts_链接
的函数)的名称,它有以下代码:

global $paged, $wp_query;

if ( !$max_page )
    $max_page = $wp_query->max_num_pages;
...
这就是