Закрытие строки 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();
}
?>