如何在存档页面中创建多个循环?

时间:2011-10-18 05:46:19

标签: wordpress

这是我的存档页面代码

我想避免第4次循环中的重复帖子和我想在第三循环中计算帖子

有4个循环

1个第一个循环计数:1个帖子

  <?php 
  $count = 1;
  if (have_posts()) : while (have_posts()) : the_post();            
  if($count == 1) : ?>

 <a href="<?php the_permalink() ?>" rel="bookmark" title="" ><?php the_title(); ?></a> 

2秒循环 - - count = 1 post

<?php if (have_posts()) : ?>
<?php $count = 1; ?>
<?php while (have_posts()) : the_post(); ?>
<?php $count++; ?>
<?php if ($count == 2) : ?> 
<a href="<?php the_permalink(); ?>" title=""><?php the_title(); ?>  </a> 

3个第三个循环 - 计数= 5个帖子

<?php else : ?> 
<a href="<?php the_permalink(); ?>" title=""><?php the_title(); ?></a> 
<?php endif; ?>
<?php endwhile; ?>

<?php else : ?>
<h1>Most Viewed News</h1>
<?php endif; ?>

4循环 - 计数=所有帖子的其余部分

<?php else : ?> 
<a href="<?php the_permalink(); ?>" title=""><?php the_title(); ?></a> 

- 广告计数 -

<?php if ( $count == 3 || $count == 5 ) : ?>
<?php dt_show_ads();?> 
<?php endif; ?>

<?php endif; ?> 
<?php $count++; ?> 
<?php endwhile; ?> 


<?php else : ?>
<div class="post">
<h2 class="archiveTitle"><?php _e('Sorry','linepress');?></h2>
</div>
<?php endif; ?>

1 个答案:

答案 0 :(得分:0)

为了避免循环中的重复帖子,您可以在数组中设置循环帖子并使用in_array函数来检查帖子是否已循环。

<?php 

$do_not_duplicate = array ();

// first loop .
if (have_posts()) :
  while (have_posts()) : the_post();
    $do_not_duplicate[] = get_the_id();
    echo "<a href='LINK'>TITLE</a>"; 
  endwhile;
endif;

// 2nd loop .
if (have_posts()) :
  while (have_posts()) : the_post();
    if ( !in_array ( get_the_id() , $do_not_duplicate ) ) {
       echo "<a href='LINK'>TITLE</a>"; 
       $do_not_duplicate[] = get_the_id();
    }
  endwhile;
endif;