在循环中重复行

时间:2018-11-29 15:37:28

标签: php wordpress loops while-loop

我正在处理WordPress帖子循环,重复相同的行。我取得了第一行,但第二行没有循环,而第一行却完美地循环了。

下面是循环和屏幕截图的代码。

Actual Layout I want to achieve

循环代码

$count = 1;

$featured_posts = new \WP_Query( $args );
if ( $featured_posts->have_posts() ) : while ($featured_posts->have_posts()) : $featured_posts->the_post();
    if ( 1 == $count % 5 ) {
        echo '<div class="wh-tiles-posts-left">';
    } elseif ( 2 == $count % 5 ) {
        echo '<div class="wh-tiles-posts-right">';
    } elseif ( 4 == $count % 9 ) {
        echo '<div class="wh-tiles-posts-left2">';
    } elseif ( 5 == $count % 10 ) {
        echo '<div class="wh-tiles-posts-right2">';
    }
    $this->render_post_body( $count );

    if ( 1 == $count % 5  ) {
        echo '</div>';
    } elseif ( 3 == $count % 6 ) {
        echo '</div>';
    } elseif( 4 == $count % 9 ) {
        echo '</div>';
    } elseif ( 5 == $count % 10 ) {
        echo '</div>';
    }
    $count++;

    endwhile;
    endif;
    wp_reset_postdata();

我在做什么错?下图2中显示了带有类名的div输出,以进行更好的说明。

Image with classnames

1 个答案:

答案 0 :(得分:0)

我认为这与您的计算有关何时添加各种div标签有关,我更改了计算,尤其是仅进行了1次严格测试...

if ( 0 == ($count-1) % 5 ) {
    echo '<div class="wh-tiles-posts-left">';
} elseif ( 1 == ($count-1) % 5 ) {
    echo '<div class="wh-tiles-posts-right">';
} elseif ( 3 == ($count-1) % 5 ) {
    echo '<div class="wh-tiles-posts-left2">';
} elseif ( 4 == ($count-1) % 5 ) {
    echo '<div class="wh-tiles-posts-right2">';
}
$this->render_post_body( $count );

if ( 1 != ($count-1) % 5 ) {
    echo '</div>';
}