在wordpress循环中将活动类添加到第一个项目

时间:2015-04-24 12:48:12

标签: php wordpress-theming wordpress

我在wordpress上创建了类别和缩略图的滑块。

我尝试在我的循环中向第一个项目添加活动类,但循环在所有项目中显示此类。

我该如何解决?

这是我的循环:

<div class="carousel-inner" role="listbox">

    <?php
        $c = 0;
        $class = '';
        query_posts('category_name=slider&showposts=3');
        if ( have_posts() ) : while ( have_posts() ) : the_post();
            $c++;

            $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail' );
            $url = $thumb['0'];

            if ( $c == 1 ) $class .= ' active';
                ?>
                 <div class="item <?php echo $class; ?>">
                     <img src="<?php echo $url; ?>" class="img-responsive" alt="...">
                     <div class="carousel-caption">
                          <h2><?php the_content() ?></h2>
                     </div>
                 </div>
                 <?php
        endwhile;endif;
        wp_reset_query();
    ?>

</div>

http://pastebin.com/R5XA3ik9

6 个答案:

答案 0 :(得分:4)

另一个答案是对的,

您可以使用

更好地使用此代码
$class = ($c == 1) ? 'active' : '';

答案 1 :(得分:3)

试试这个

 if ( $c == 1 )
    $class = ' active';
 else
    $class=''; 

只是一行

$class = ($c == 1) ? 'active' : '';

答案 2 :(得分:2)

$class变量仍然具有第一个&#34; round&#34;的值。 (此外,由于您正在使用.=,因此它将成为active active ...次n次) 您需要添加else语句才能删除旧值。

if ( $c == 1 ) $class = ' active';
else $active = '';

答案 3 :(得分:2)

请尝试一下。

<div class="carousel-inner" role="listbox">

    <?php
        $c = 0;
        $class = '';
        query_posts('category_name=slider&showposts=3');
        if ( have_posts() ) : while ( have_posts() ) : the_post();
            $c++;

            $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail' );
            $url = $thumb['0'];

            if ( $c == 1 ) $class .= ' active';
            else $class = '';
                ?>
                 <div class="item <?php echo $class; ?>">
                     <img src="<?php echo $url; ?>" class="img-responsive" alt="...">
                     <div class="carousel-caption">
                          <h2><?php the_content() ?></h2>
                     </div>
                 </div>
                 <?php
        endwhile;endif;
        wp_reset_query();
    ?>

</div>

答案 4 :(得分:1)

请尝试这个

`

<?php
    $c = 0;
    $class = '';
    query_posts('category_name=slider&showposts=3');
    if ( have_posts() ) : while ( have_posts() ) : the_post();
        $c++;

        $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail' );
        $url = $thumb['0'];

        $class = ($c == 1) ? 'active' : '';
            ?>
             <div class="item <?php echo $class; ?>">
                 <img src="<?php echo $url; ?>" class="img-responsive" alt="...">
                 <div class="carousel-caption">
                      <h2><?php the_content() ?></h2>
                 </div>
             </div>
             <?php
    endwhile;endif;
    wp_reset_query();
?>

`

答案 5 :(得分:0)

试试这个

<div class="carousel-inner" role="listbox">

<?php
    $c = 0;

    query_posts('category_name=slider&showposts=3');
    if ( have_posts() ) : while ( have_posts() ) : the_post();

$ class =&#39;&#39 ;;             $ C ++;

        $thumb = wp_get_attachment_image_src( get_post_thumbnail_id($post->ID), 'thumbnail' );
        $url = $thumb['0'];

        if ( $c == 1 ) $class .= ' active';
            ?>
             <div class="item <?php echo $class; ?>">
                 <img src="<?php echo $url; ?>" class="img-responsive" alt="...">
                 <div class="carousel-caption">
                      <h2><?php the_content() ?></h2>
                 </div>
             </div>
             <?php
    endwhile;endif;
    wp_reset_query();
?>