wp_reset_query()函数

开发wordpress主题经常会用到的wp_reset_query()函数,该函数使用在循环loop中,其作用是重置查询数据,一般与query_posts()配对出现,wprdpress强大的query_posts()函数设置loop的调用条件时,在语句结束必须使用wp_reset_query()函数清除查询数据,否则可能对该页面另外的数据调用结果产生影响,如无法正常调用,调用出错等;很多新手制作wordpress主题时,往往因为没有添加wp_reset_query()而出现各种问题。

<?php 
$args = array(
    // query_posts参数,具体参数可以参加官方文档
    'cat' => 1,
    'category_name' => 'wpfunc'
);
$args = array_merge($args, $wp_query->query); //这一行代码是必须的,不然不能分页
query_posts($args);
if( have_posts() ){
    while( have_posts() ){
        //获取下一篇文章的信息,并且将信息存入全局变量 $post 中
        the_post();
        }
}
wp_reset_query();
?>