php 带有开始日期和结束日期的事件的Wordpress查询

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了php 带有开始日期和结束日期的事件的Wordpress查询相关的知识,希望对你有一定的参考价值。

<?php // based on https://support.advancedcustomfields.com/forums/topic/how-do-i-filter-and-sort-event-posts-with-start-and-end-date/
  $query_args = array(
    //'paged' => 1,
    'post_type' => 'termine',
    'post_status' => 'publish',
    'orderby' => 'meta_value_num',
    'order' => 'ASC',
    'posts_per_page' => -1,
    'meta_key' => 'event_start_date',
    'meta_query' => array(
      'relation' => 'OR',
      // start date is coming or equal
      array(
        'key' => 'event_start_date',
        'value' => date('Ymd', strtotime('now')),
        'type' => 'numeric',
        'compare' => '>=',
      ),
      // end date is coming or equal
      array(
        'key' => 'event_end_date',
        'value' => date('Ymd', strtotime('now')),
        'type' => 'numeric',
        'compare' => '>=',
      ),
    ),
  );
  $my_query = new WP_Query($query_args);
?>

<?php if ($my_query->have_posts()) : while ($my_query->have_posts()) : $my_query->the_post(); ?>

  <h3><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h3>
  <p class="datespan">
    <?php 
      $startdateformatstring = "D, d. M Y"; 
      $unixtimestamp = strtotime(get_field('event_start_date'));
    ?> 
    <span><?php echo date_i18n($startdateformatstring, $unixtimestamp); ?></span> um <span><?php the_field('event_start_time'); ?> Uhr</span>

    <?php
      $thisstartdate = get_field('event_start_date');
      $thisenddate = get_field('event_end_date');

      if ($thisenddate > $thisstartdate) :
        $dateformatstring = "D, d. M Y"; 
        $unixtimestamp = strtotime(get_field('event_end_date')); ?>
        bis <span><?php echo date_i18n($dateformatstring, $unixtimestamp); ?></span>
      <?php endif; ?>
  </p>
  <?php the_excerpt(); ?>
  <?php edit_post_link('edit','<p><span class="edit">','</span></p>'); ?>
  <hr class="divider" />

<?php endwhile; else : ?>

以上是关于php 带有开始日期和结束日期的事件的Wordpress查询的主要内容,如果未能解决你的问题,请参考以下文章

php获取本周开始日期和结束日期的方法

drupal 8 views日期范围过滤器 - '在'运算符之间'不包括结束日期

基于日期开始和结束在 FullCalendar 上重复事件

基于日期开始和结束,在FullCalendar上重复事件

PHP获取一年中的每星期的开始日期和结束日期

PHP获取一年中的每星期的开始日期和结束日期