自定义日期事件的回退条件
Fallback condition on custom date event
需要一点帮助来纠正我的后备条件。我有 3 个不同的选项卡事件,正在发生、即将发生和已过期。我这里的当前代码设置为 "happening event",如果存在 "no current happening event",则很难理解如何或在何处放置回退。如果我创建后备条件,它最终会复制 "No Current Events Set" 的消息。我应该在哪里放置条件以使回退不复制其消息。
<div role="tabpanel" class="tab-pane active" id="happening">
<?php
if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post();
// Check event record from ACF
while ( have_rows('dtl') ) : the_row();
$date = DateTime::createFromFormat('Ymd', get_sub_field('event_date'));
$dateA = $date->format('Y-m-d');
$dateB = date('Y-m-d');
endwhile;
// Compare event record from ACF & current date
if (strtotime($dateA) == strtotime($dateB)) :
?>
<section class="section-contents"><?php get_template_part( 'templates/events', 'query' ); ?></section>
<?php else : // fallback if there's no active date ?>
<section class="section-contents"> <h5 class="text-center text-danger text-uppercase">No Current Events Set</h5> </section>
<?php endif; // close strtotime
endwhile; endif; wp_reset_postdata();
?>
</div>
你在循环中有你的 else 条件,这意味着它会为你的时间比较失败的每次迭代输出你的消息。您需要将其移出循环
$x=false;
if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post();
// Check event record from ACF
while ( have_rows('dtl') ) : the_row();
$date = DateTime::createFromFormat('Ymd', get_sub_field('event_date'));
$dateA = $date->format('Y-m-d');
$dateB = date('Y-m-d');
endwhile;
// Compare event record from ACF & current date
if (strtotime($dateA) == strtotime($dateB)) :
$x= true;
?>
<section class="section-contents"><?php get_template_part( 'templates/events', 'query' ); ?></section>
<?php endif; // close if strtotime...
endwhile;
?>
<?php endif; // close if statement
wp_reset_postdata();
if(!$x){ ?>
<section class="section-contents"> <h5 class="text-center text-danger text-uppercase">No Current Events Set</h5> </section>
<?php } ?>
需要一点帮助来纠正我的后备条件。我有 3 个不同的选项卡事件,正在发生、即将发生和已过期。我这里的当前代码设置为 "happening event",如果存在 "no current happening event",则很难理解如何或在何处放置回退。如果我创建后备条件,它最终会复制 "No Current Events Set" 的消息。我应该在哪里放置条件以使回退不复制其消息。
<div role="tabpanel" class="tab-pane active" id="happening">
<?php
if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post();
// Check event record from ACF
while ( have_rows('dtl') ) : the_row();
$date = DateTime::createFromFormat('Ymd', get_sub_field('event_date'));
$dateA = $date->format('Y-m-d');
$dateB = date('Y-m-d');
endwhile;
// Compare event record from ACF & current date
if (strtotime($dateA) == strtotime($dateB)) :
?>
<section class="section-contents"><?php get_template_part( 'templates/events', 'query' ); ?></section>
<?php else : // fallback if there's no active date ?>
<section class="section-contents"> <h5 class="text-center text-danger text-uppercase">No Current Events Set</h5> </section>
<?php endif; // close strtotime
endwhile; endif; wp_reset_postdata();
?>
</div>
你在循环中有你的 else 条件,这意味着它会为你的时间比较失败的每次迭代输出你的消息。您需要将其移出循环
$x=false;
if ( $query->have_posts() ) : while ( $query->have_posts() ) : $query->the_post();
// Check event record from ACF
while ( have_rows('dtl') ) : the_row();
$date = DateTime::createFromFormat('Ymd', get_sub_field('event_date'));
$dateA = $date->format('Y-m-d');
$dateB = date('Y-m-d');
endwhile;
// Compare event record from ACF & current date
if (strtotime($dateA) == strtotime($dateB)) :
$x= true;
?>
<section class="section-contents"><?php get_template_part( 'templates/events', 'query' ); ?></section>
<?php endif; // close if strtotime...
endwhile;
?>
<?php endif; // close if statement
wp_reset_postdata();
if(!$x){ ?>
<section class="section-contents"> <h5 class="text-center text-danger text-uppercase">No Current Events Set</h5> </section>
<?php } ?>