我的自定义帖子事件存在一些问题。我只想显示日期等于或大于今天的事件,但是我的代码不起作用 并正确显示过去和将来的所有事件。
我的代码:
在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
}
我认为代码中的所有内容都是正确的,但仍然行不通。 请给我任何建议。
答案 0 :(得分:0)
最近我遇到了同样的问题。当我深入研究ACF PRO文档时,我发现返回日期格式与字段日期在数据库中的存储方式无关。实际上,它是Ymd-https://www.advancedcustomfields.com/resources/date-picker/
这是您应为oneWayDepartureDate
使用的值。另外,我在$today
中使用了'DATE'
类型。
meta_query
和
$today = date('Ymd');