存储查询变量,然后使用wp_Reset_Query

时间:2013-09-04 作者:jay

我想将分页功能用于自定义帖子查询(从特定类别获取帖子)。My pagination函数从中获取查询global $wp_query;

因此,在下面的代码中,我将原始的$wp\\u查询分配给了一个临时变量,在查询之后,我又重新分配了。最后我用了wp_reset_query() 函数重置查询。

所以我的问题是,存储原始文件有什么意义吗$wp_query 首先,然后将其分配回,然后重置查询?如果我们正在重置查询,那么它不是没有必要吗?我问这个问题是因为我确实在一篇文章中读到过这种方法,对此我不确定。

$temp_query = $wp_query; //#1. store original wp_query
$args = array(
    \'cat\' => 15,
    \'paged\' => $paged
);  
$wp_query = new WP_Query( $args );

while ( $wp_query -> have_posts() ) : $wp_query -> the_post();

endwhile;

my_pagination();    //call function

$wp_query = $temp_query;    //#2. assign back original wp_query

wp_reset_query();   //#3. reset query

1 个回复
SO网友:Jacob Raccuia

wp_reset_query(); 将查询重置为页面的原始主查询。

因此,将查询存储在另一个变量中是多余和不必要的。

更新的代码:

$args = array(
    \'cat\' => 15,
    \'paged\' => $paged
);  
$custom_query = new WP_Query( $args );

while ($custom_query -> have_posts()) : $custom_query -> the_post();
endwhile;

my_pagination();    //call function
wp_reset_query();   //#3. reset query

结束

相关推荐

如何使用forloop和Register_侧边栏创建多个侧栏区域?

我试图使用一组页面模板(如日期、存档、标记等)创建8个侧边栏区域,然后在数组中循环,为每个值创建一个侧边栏。我认为应该这样做,但它只会为数组中的最后一个值创建一个侧栏:$widget_areas = array(\'single\',\'index\',\'category\',\'archive\',\'tag\',\'taxonomy\',\'author\',\'date\',\'search\',\'attachment\'); foreach($widget_areas as $area