在围绕分组的循环开始处清空关闭div

时间:2017-12-07 17:59:25

标签: php wordpress while-loop

我甚至不知道该搜索什么,所以我尝试的并不多,因为我很难过。

这是循环,获取月份名称,然后在该月份内对事件进行分组。评论//* Close the Div :问题是问题所在。代码执行了它应该做的事情,但是在列表之前有一个空div。

if ( have_posts() ) : 

    $current_month = '';

    while ( have_posts() ) : the_post();


            if( $current_month != eo_get_the_start( 'm' ) ) :

                    $month = eo_get_the_start('F Y');

                    //* Close the Div : PROBLEM this is where it echos an empty closing div before first month name
                    echo '</div><!-- /events-by-month -->'; 

                    //* Start new group
                    echo '<h3 class="event-month" id="'. $month . '">' . $month . '</h3>';

                    //* Open div around the events in this month
                    echo '<div class="events-by-month" style="border:1px solid green">'; //* inline style so I can see

            endif;

                $current_month = eo_get_the_start('m');

                eo_get_template_part( 'eo-loop-single-event' );


    endwhile;


    //* Genesis Numbered Pagination
    genesis_numeric_posts_nav();

    else:

        echo '<p>'. __( 'No Events', 'joyful' ) . '</p>';

endif;

1 个答案:

答案 0 :(得分:3)

你的while循环最初将循环一次并在回显初始开始标记之前回显结束标记。

只需检查$ current_month是否为空就应该修复它。

echo !empty($current_month) ? '</div><!-- /events-by-month -->' : null;