我正在尝试使用自定义元字段(日期)查询帖子,并按自定义元字段(start_date)对它们进行排序。
我需要查找在今天或之后开始或在今天日期之后结束的帖子。
这一切似乎都与开始日期和OR语句的顺序不同,任何帮助都有所帮助。
<?php
$today = date('y-m-d');
$args = array(
'numberposts' => -1,
'meta_key' => 'start_date',
'orderby' => 'meta_value',
'order' => 'ASC',
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'start_date',
'value' => $today,
'compare' => '>='
),
array(
'key' => 'end_date',
'value' => $today,
'compare' => '>'
)
)
);
query_posts( $args );
?>
答案 0 :(得分:1)
我假设你是wordpress的MySQL数据库,日期格式应该是YYYYMMDD
。
更新日期格式:使用$today = date('Y-m-d');
代替$today = date('y-m-d');
type=>date
中的meta_query
如下所示:
$args = array(
'numberposts' => -1,
'meta_key' => 'start_date',
'orderby' => 'meta_value',
'order' => 'ASC',
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'start_date',
'value' => $today,
'type' => 'date',
'compare' => '>='
),
array(
'key' => 'end_date',
'value' => $today,
'type' => 'date',
'compare' => '>'
)
)
);
希望会有所帮助!