0

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

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

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

<?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;
?>

谢谢您的帮助 !

4

2 回答 2

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 将变为假。所以在下一个循环中它不会进入这个仅用于第一个循环的“if”

于 2013-10-20T21:21:29.283 回答
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;
?>

谢谢。

于 2013-10-21T04:58:02.283 回答