在while循环中更改第一个元素?

时间:2013-10-20 21:17:38

标签: php wordpress

我有一个显示HTML的while循环。

但是,我只需要第一次迭代的不同元素。

我该如何管理?这是我的代码:

<?php
if (have_posts()) :
    while (have_posts()) :
        the_post();
        $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' );
        ?>

        <div class="item" style="background-size:cover; background-image: url(<?php echo $image[0]; ?>); width: 100%; min-height: 300px;">
            <div class="carousel-caption">
                <h3><?php the_title(); ?></h3>
                <p><?php comments_number( 'Pas de commentaires', '1 commentaire', '% commentaires' ); ?></p>
            </div>
        </div>

        <?php
    endwhile;
endif;
?>

感谢您的帮助!

2 个答案:

答案 0 :(得分:3)

试试此代码

<?phph $flag = 1; ?>

<?php if (have_posts()) : ?>

    <?php while (have_posts()) : the_post(); ?>

    <?php if($flag) { 

                   DO YOUR WORK;


                   $flag = 0;
                    }  ?>

   Rest of your code.

当脚本第一次运行时,它会发现FLAG为真,因此您可以对第一个循环执行不同的操作。然后FLAG将变为虚假。因此,如果&#39;仅用于第一个循环

答案 1 :(得分:1)

您的完整代码:

<?php
if (have_posts()) :
    $flag = 1;
    while (have_posts()) : the_post();
        if($flag == 1) { 

                   PUT YOUR CODE HERE;    

                   $flag = 0;
                    }

        $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'single-post-thumbnail' );
        ?>

        <div class="item" style="background-size:cover; background-image: url(<?php echo $image[0]; ?>); width: 100%; min-height: 300px;">
            <div class="carousel-caption">
                <h3><?php the_title(); ?></h3>
                <p><?php comments_number( 'Pas de commentaires', '1 commentaire', '% commentaires' ); ?></p>
            </div>
        </div>

        <?php
    endwhile;
endif;
?>

感谢。