【问题标题】:Problem with meta query compare event date元查询比较事件日期的问题
【发布时间】:2019-03-31 10:33:04
【问题描述】:

我的自定义发布事件有一些问题。我只想显示日期等于或大于今天的事件,但我的代码不起作用 正确显示过去和未来的所有事件。

我的代码:

在functions.php中注册自定义帖子类型

function create_posttype() {
register_post_type('event', array(
  'public' => true,
  'has_archive' => false,
  'taxonomies' => array('category'),
  'supports' => array(
        'title', 'editor','thumbnail', 'custom-fields', 'revisions',     'page-attributes', 'post-formats'
    ),
  'menu_icon' => 'dashicons-calendar-alt',
  'rewrite' => array('slug' => 'events'),

  'labels' => array(
  'name' => __( 'Events' ),
  'singular_name' => __( 'Event' ),
        'add_new_item' =>__('Add New Event'),
        'edit_item' =>__('Edit Event'),
        'all_item' =>__('All Events')
       ),
  ));
add_action( 'init', 'create_posttype' );

front-page.php 我想在其中显示我未来的事件:

start_event_date 是一个自定义字段(日期选择器), 显示格式:d/m/Y, 返回格式:d/m/Y,

 $today =  date('d/m/Y');
    $argsEvents = array(
     'post_type' => 'event',
     'posts_per_page' => 3,
     'meta_key' => 'start_event_date',
     'orderby' => 'meta_value',
     'order' => 'ASC',
     'meta_query' => array(
         array(
           'key' => 'start_event_date',
            'compare' => '>=',
            'value' => $today,
             'type' => 'datetime'
           )
       )                    
     );

$theEventsPosts = new WP_Query($argsEvents);
    while($theEventsPosts->have_posts()){
      $theEventsPosts->the_post();

//here i have my event-card-post html 
}

我认为我的代码中的一切都是正确的,但仍然无法正常工作。 请给我任何建议。

【问题讨论】:

    标签: wordpress advanced-custom-fields meta-query


    【解决方案1】:

    最近我遇到了同样的问题。当我深入研究 ACF PRO 文档时,我发现返回日期格式与字段日期在数据库中的存储方式无关。其实就是Ymd-https://www.advancedcustomfields.com/resources/date-picker/ 这是您应该为$today 使用的值。另外,我在meta_query 中使用了'DATE' 类型。

    $today =  date('Ymd');
    

    'meta_query' => array(
      array(
        'key' => 'start_event_date',
        'compare' => '>=',
        'value' => $today,
        'type' => 'DATE'
      )
    )
    
    

    【讨论】:

      猜你喜欢
      • 2020-04-21
      • 1970-01-01
      • 2013-09-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-06
      • 2018-10-06
      • 2011-07-10
      相关资源
      最近更新 更多