打破一个WordPress的循环,然后插入一个div之后再进入(Breaking a wordpre

2019-09-28 09:40发布

我建立基于围绕Twitter的引导WordPress的主题。 自举的响应式布局.row-fluid跨越页面的100%,并且可以在一个行内有12个“跨度”。

<div class="row-fluid">
    <?php query_posts('category_name=feature-articles&showposts=6'); ?> 
    <?php while (have_posts()) : the_post(); ?>

        <div class="span4">
        <div class="main-thumb"><?php echo get_the_post_thumbnail(($page->ID) , 'main-thumb'); ?></div>
        <a href="<?php the_permalink(); ?>"><h3 class="title"><?php the_title(); ?></h3></a>
        <p class="excerpt"><?php
            $my_excerpt = get_the_excerpt();
            if ( $my_excerpt != '' ) {
                // Some string manipulation performed
            }
            echo $my_excerpt; // Outputs the processed value to the page
            ?></p>


    <?php endwhile; ?></div>

这将创建6“span4”,这是我要在2个不同的行跨越-而是因为循环的,有没有办法关闭原.row-fluid格,并已在3个帖子后打开另一个。

为了简便起见,我想要得到的帖子1,2和3,然后关闭.row-fluid格,然后再创建,然后得到的职位4,5和6。这是可能的有点循环操作的?

Answer 1:

你必须把一个计数器在循环,当它到达3,添加关闭/打开标签。 我还添加了if(have_posts())到你的循环的开始,以避免错误(也可以让你输出一个消息,如果没有职位)。

<div class="row-fluid">

    <?php $i = 0 ?>
    <?php query_posts('category_name=feature-articles&showposts=6'); ?>
    <?php if(have_posts()) : while (have_posts()) : the_post(); ?>

        <?php if( $i == 3 ) : ?>
            </div>
            <div class="row-fluid">
        <?php endif; ?>

        <div class="span4">

        <div class="main-thumb">
            <?php echo get_the_post_thumbnail(($page->ID) , 'main-thumb'); ?>
        </div>
        <a href="<?php the_permalink(); ?>">
            <h3 class="title"><?php the_title(); ?></h3>
        </a>
        <p class="excerpt">
<?php
            $my_excerpt = get_the_excerpt();
            if ( $my_excerpt != '' ) {
                // Some string manipulation performed
            }
            echo $my_excerpt; // Outputs the processed value to the page
?>
        </p>

        <?php $i++ ?>

        <?php endwhile; ?>
    <?php endif; ?>

</div> 


文章来源: Breaking a wordpress loop, then re-entering after inserting a div