在这段代码专业WordPress设计和开发,第二版的作者设置一个PHP变量($ wp_query)为NULL,以完全冲洗干净。为什么在分配给它之前需要刷新变量?
为什么你需要在分配给它之前做到这一点?
<?php
$temp = $wp_query;
$wp_query= null;/***here***/
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
$wp_query = new WP_Query('posts_per_page=5&paged='.$paged);/***here***/
while ($wp_query->have_posts()) : $wp_query->the_post();
?>
<h2>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</h2>
<?php the_excerpt(); ?>
<?php endwhile; ?>
<div class="navigation">
<div class="alignleft"><?php previous_posts_link('« Previous'); ?></div>
<div class="alignright"><?php next_posts_link('More »'); ?></div>
</div>
<?php
$wp_query = null;/***here***/
$wp_query = $temp;/***here***/
?>
我不知道书/代码的细节,但通常只会*取消设置一个变量(数组条目等除外)以释放内存。但这只是在非常罕见的情况下需要的。 – ComFreek 2013-03-21 18:29:46
作者可能会更多地遵循他自己的标准编程风格,而在PHP中有任何有意义的原因可以做到这一点。 – jmbertucci 2013-03-21 18:32:37
你没有。第二项任务使第一项完全冗余。 – geoffspear 2013-03-21 18:32:38