没有帖子时生成空的li元素

时间:2019-01-22 03:30:06

标签: php wordpress

在wordpress中,我有一个循环返回8个最新帖子。我想做的是,即使帖子数小于4,也必须始终有4个列表元素(如果没有帖子,则为empli li元素)。 例如,页面只有两个帖子,则循环需要生成2个度li。如果页面中有4个以上的帖子,则无需生成任何时间li。 请使用当前代码,它会产生超过4 li的内容。

<ul class="slider sp">
        <?php
        $ids = get_field('related', false, false);
        $query_args = array(
            'post_type' => 'product',
            'posts_per_page' => 8,
            'post__in' => $ids,
            'orderby' => 'post__in',
        );
        $query = new WP_Query( $query_args );
        $count = $query->post_count;
        if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post();
        $thumbnail = get_field('image0');
        if(empty($thumbnail)){ $thumbnail = APP_URL . "images/cms/no-image.png"; $borderclass = "hasborder";}
        ?>
            <li>
                <a href="<?php echo get_permalink(); ?>">
                    <div class="imager">
                        <div class="img" style="background-image: url(<?php echo $thumbnail; ?>);"></div>
                    </div>
                    <p class="ttl">
                    <?php echo get_the_title(); ?>
                    </p>
                    <p class="price"><?php echo the_field('a-price'); ?>円(税別)</p>
                </a>
            </li>
            <?php endwhile;
            $count = 4 - $count;
            if($count > 0){
               for( $i = 0; $i <= $count; $i++){echo '<li></li>';}} endif; ?>
        </ul>

1 个答案:

答案 0 :(得分:1)

次要错误:for($ i = 0; $ i <= $ count; $ i ++)应该只是$i < $count

//$count = 4 - $count;
for( $i = $count; $i < 4; $i++)

两者都能正常工作