如何在自定义字段中查询完整日期的年份部分?

时间:2015-11-09 作者:mike23

我的帖子有一个名为“生产日期”的自定义字段,格式为YYYYMMDD。

如何形成meta\\u查询以仅选择YYYY部分?

$meta_query_args = array(
    array(
        \'key\'     => \'production_date\',
        \'value\'   => \'2004\',
        \'compare\' => \'???\'
    )
);

2 个回复
最合适的回答,由SO网友:TheDeadMedic 整理而成

ACF如何将日期存储为YYYYMMDD 你可以把它们当作整数来对待,并获得类似的功能级别,就好像你在使用“真”日期一样。

例如,要获取2011年1月1日之后的所有日期,请使用> 20110101. 2012年6月1日之前的?< 20120601. 对于你的情况,所有日期都在2004年以内?>= 20040101 && <= 20041231.

转换为元查询:

$year = \'2004\';

$meta_query_args = array(
    array(
        \'key\'     => \'production_date\',
        \'value\'   => array( $year . \'0101\', $year . \'1231\' ),
        \'compare\' => \'BETWEEN\',
        \'type\'    => \'NUMERIC\',
    )
);
Check out the codex 所有论点的完整解释。

SO网友:phatskat

您可以使用PHP的datestrtotime 获取年份的函数:

$date_value = \'20040619\'; // from your production_date custom field

$year = date( \'Y\', strtotime( $date_value ) );

$meta_query_args = array(
    array(
        \'key\'     => \'production_date\',
        \'value\'   => $year,
        \'compare\' => \'???\'
    )
);

相关推荐

如何通过jQuery Datepicker搜索帖子?

我正在WordPress网站上工作,我有自己的搜索筛选页面,在那里我添加了jquery日期选择器,现在我想按日期选择器搜索帖子?Html Codescript> $(function() { jQuery( \"#datepicker-13\" ).datepicker({ dateFormat : \"yy-mm-dd\" }); $(\"#datepicker-13\").datepicker().datepick