WordPress的10个杀手级Hack技巧(2)

[复制链接]
查看: 609   回复: 1
发表于 2009-1-10 09:57:40 | 显示全部楼层 |阅读模式
本帖最后由 dxszzcylm 于 2009-1-31 23:40 编辑

2.避免在多循环中出现重复文章

问题:由于“杂志型”主题的流行,现在很多WordPressy用户在他们的首页上都使用了多个循环,因此他们也迫切需要在第二个循环上避免出现重复文章。
解决方案:使用PHP数组就能轻松解决这一问题
创建一个PHP数组,并把第一个循环的所有文章ID放在其中
<h2>Loop n°1</h2>
<?php
$ids = array();
while (have_posts()) : the_post();
the_title();
?>
<br />
<?php $ids[]= $post->ID;
endwhile; ?>
对于第二个循环:使用PHP函数in_array()来检查$ids数组中是否包含了某个文章ID。如果这个文章ID没有包含在此数组中,意味着第一个循环中没有此篇文章,那么系统就可以显示它了。
<h2>Loop n°2</h2>
<?php
query_posts("showposts=50");
while (have_posts()) : the_post();
if (!in_array($post->ID, $ids)) {
the_title();?>
<br />
<?php }
endwhile; ?>

代码说明:执行第一个循环时,其中的所有文章ID都会被放到一个数组变量中。因此,第二个循环执行时,我们只要到这个数组中检查当前的文章ID是否已显示在第一个循环中就可以了。

评分

参与人数 1 +2 收起 理由
dxszzcylm + 2

查看全部评分

发表于 2009-1-31 23:41:06 | 显示全部楼层
不错的技术文章!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则