我已经用这种格式创建了一个自定义字段“date”,即2013年9月16日(日期/日期/年)。
如何比较日期并仅显示带有今天日期的帖子?
这是我的查询,不起作用!!
$args = array(
\'posts_per_page\' => 100,
\'meta_key\' => \'date\',
\'orderby\' => \'meta_value\',
\'order\' => \'ASC\',
\'meta_query\' => array(
array(
\'key\' => \'city\',
\'value\' => \'London\',
\'compare\' => \'LIKE\'
),
array(
\'key\' => \'date\',
\'value\' => date("Y/m/d"),
\'compare\' => \'>=\',
\'type\' => \'DATE\'
),
)
);
最合适的回答,由SO网友:Krzysiek Dróżdż 整理而成
看看meta.php:777:
... CAST($alias.meta_value AS {$meta_type}) {$meta_compare} {$meta_compare_string})...
因此,如果要使用日期比较,应该使用MySQL兼容的日期格式(YYYY-MM-DD)。
更改代码的这一部分:
array(
\'key\' => \'date\',
\'value\' => date("Y/m/d"),
\'compare\' => \'>=\',
\'type\' => \'DATE\'
),
收件人:
array(
\'key\' => \'date\',
\'value\' => date("Y-m-d"), // <- change
\'compare\' => \'>=\',
\'type\' => \'DATE\'
),
它应该工作得很好。