Закрытие строки div после оператора if

Итак, я сделал запрос, чтобы получить разные блоки "крайних сроков", где все крайние сроки должны быть в строке. Мне удалось заставить запрос работать так, как мне бы хотелось, но единственная проблема в том, что я не могу найти способ закрыть строку div () после завершения запроса..

Я добавил в конце запроса

echo "</div>";wp_reset_postdata();

Но проблема в том, что если в запросе более одного элемента, он уже закрывает div после первого.

Посмотрите эту страницу для примера: http://awardwinningdesignersbe.webhosting.be/deadlines/

Вот запрос:

                <?php
                    $blogtime = types_render_field('datum-deadline', array("format" => "Y", "style" => "text"));
                    $prev_limit_year = $blogtime - 1;
                    $prev_month = '';
                    $prev_year = '';

                    $args = array(
                             'post_type' => 'deadline',
                             'meta_key' => 'wpcf-datum-deadline',
                             'order_by' => 'meta_value',
                             'field' => 'slug'
                    );
                    $postsbymonth = new WP_Query($args);

                    while($postsbymonth->have_posts()) {

                        $postsbymonth->the_post();

                        if(types_render_field('datum-deadline', array("format" => "F", "style" => "text")) != $prev_month || types_render_field('datum-deadline', array("format" => "Y", "style" => "text")) != $prev_year && types_render_field('datum-deadline', array("format" => "Y", "style" => "text")) == $prev_limit_year) {
                                       echo "<div class='row deadlinerow'><h2>".types_render_field('datum-deadline', array("format" => "F, Y", "style" => "text"))."</h2>\n\n";
                            }


                        ?>
                                <div class="small-12 medium-6 large-4 columns deadline">
                                    <div class="row">
                                        <div class="small-4 medium-5 large-4 columns deadline-date">
                                            <div class="deadline-cell">
                                                <span><?php echo types_render_field('datum-deadline', array("format" => "d", "style" => "text")); ?></span>
                                                <span><?php echo types_render_field('datum-deadline', array("format" => "M", "style" => "text")); ?></span>
                                            </div>
                                        </div>
                                        <div class="small-8 medium-7 large-8 columns deadline-info">
                                            <div class="inner">
                                                <h3 class="post-title"><?php the_title(); ?></h3>
                                                    <ul class="deadline-cat">
                                                    <?php 
                                                        $args = array(
                                                        'show_option_all'    => '',
                                                        'order'              => 'ASC',
                                                        'style'              => 'list',
                                                        'show_count'         => 0,
                                                        'hide_empty'         => 1,
                                                        'use_desc_for_title' => 1,
                                                        'child_of'           => 0,
                                                        'feed'               => '',
                                                        'feed_type'          => '',
                                                        'feed_image'         => '',
                                                        'exclude'            => '',
                                                        'exclude_tree'       => '',
                                                        'include'            => '',
                                                        'hierarchical'       => 1,
                                                        'title_li'           => __( '' ),
                                                        'show_option_none'   => __( 'No categories' ),
                                                        'number'             => null,
                                                        'echo'               => 1,
                                                        'depth'              => 0,
                                                        'current_category'   => 0,
                                                        'pad_counts'         => 0,
                                                        'taxonomy'           => 'deadline-category',
                                                        'walker'             => null
                                                        );
                                                        wp_list_categories( $args ); 
                                                    ?>
                                                    </ul>
                                                <a href="<?php the_permalink(); ?>" class="meerinfo">Meer Info</a>
                                            </div>
                                        </div>
                                    </div>
                                </div>

                    <?php
                        $prev_month = types_render_field('datum-deadline', array("format" => "F", "style" => "text"));
                        $prev_year = types_render_field('datum-deadline', array("format" => "Y", "style" => "text"));
                        echo "</div>";
                        wp_reset_postdata();
                    }
                    ?>

Было бы здорово, если бы кто-то мог указать мне правильное направление:)

Заранее спасибо! Jannik

1 ответ

Решение

Я добавляю этот фрагмент кода, чтобы вы могли использовать его в качестве краткого справочника, просто скопируйте и вставьте... Я добавил значение счетчика, чтобы вы знали, когда существует более одного поста. Это завершит первый div, а затем начнет новый в соответствии с вашим оригиналом. Попробуй это.

<?php

$count = 0;
while($postsbymonth->have_posts()) {
    $postsbymonth->the_post();

    if(types_render_field('datum-deadline', array("format" => "F", "style" => "text")) != $prev_month || types_render_field('datum-deadline', array("format" => "Y", "style" => "text")) != $prev_year && types_render_field('datum-deadline', array("format" => "Y", "style" => "text")) == $prev_limit_year) {
        if($count > 0){
            $count = 0;
            echo "</div>";
        }
    echo "<div class='row deadlinerow'><h2>".types_render_field('datum-deadline', array("format" => "F, Y", "style" => "text"))."</h2>\n\n";
        }

    $count++;

        ?>
...

    <?php
    $prev_month = types_render_field('datum-deadline', array("format" => "F", "style" => "text"));
    $prev_year = types_render_field('datum-deadline', array("format" => "Y", "style" => "text"));
    wp_reset_postdata();
}
?>
Другие вопросы по тегам