在(foreach)循环中向第一个div添加一个类

时间:2014-01-05 22:29:47

标签: php wordpress twitter-bootstrap loops foreach

我正在使用自举的旋转木马。我将在WordPress中使用它。我正在使用foreach循环查询最近的两个帖子但是为了使轮播正常工作,我需要最新的帖子才能有一个额外的“活跃”课程。我在stackoverflow上找到了一些解决方案,但它们都是whileloops,我真的需要它为这个foreach循环。这是我的代码:

    <div id="NewsCarousel" class="carousel slide">
          <div class="carousel-inner">
            <?php
            $args = array( 'numberposts' => '2', 'category' => 5 );
            $recent_posts = wp_get_recent_posts( $args );
            foreach( $recent_posts as $recent ){
                echo '<div class="item"><a href="' . get_permalink($recent["ID"]) . '" title="Look '.esc_attr($recent["post_title"]).'" >' . get_the_post_thumbnail($recent["ID"], array(200,200)) .$recent["post_title"].'</a> </div> ';
           }
          ?>
          </div>
       </div>

2 个答案:

答案 0 :(得分:5)

您可以使用boolean变量来确定它是否是第一个循环。初始值为true,一旦循环,该值将设置为false

<div id="NewsCarousel" class="carousel slide">
  <div class="carousel-inner">
    <?php
    $args = array( 'numberposts' => '2', 'category' => 5 );
    $recent_posts = wp_get_recent_posts( $args );
    $isFirst = true;
    foreach( $recent_posts as $recent ){
        echo '<div class="item' . $isFirst ? ' active' : '' . '"><a href="' . get_permalink($recent["ID"]) . '" title="Look '.esc_attr($recent["post_title"]).'" >' . get_the_post_thumbnail($recent["ID"], array(200,200)) .$recent["post_title"].'</a> </div> ';
        $isFirst = false;
   }
  ?>
  </div>
</div>

答案 1 :(得分:2)

您可以在foreach循环之外添加类似$count = 0;的计数器。然后在foreach循环内部告诉它增加$count++;

然后检查计数是否等于1,如下所示:if($count == 1){//do this}

所以在你的情况下,让我们这样做:

<div id="NewsCarousel" class="carousel slide">
<div class="carousel-inner">
<?php
$args = array( 'numberposts' => '2', 'category' => 5 );
$recent_posts = wp_get_recent_posts( $args );
$count = 0;
foreach( $recent_posts as $recent ){
$count++;
    echo '<div class="item'; if($count == 1){echo ' active';}"><a href="' . get_permalink($recent["ID"]) . '" title="Look '.esc_attr($recent["post_title"]).'" >' . get_the_post_thumbnail($recent["ID"], array(200,200)) .$recent["post_title"].'</a> </div> ';
}
?>
</div>
</div>

试试吧,它应该可以解决问题。我刚刚在我正在处理的项目上使用了这个方法。