如何根据日期自定义域按月查询公告?

时间:2011-09-15 作者:Javier Villanueva

我目前为自定义帖子类型创建了一个自定义字段,该字段以dd/mm/yyyy格式存储日期是否有办法按月查询帖子?

我通过以下查询“有点”获得了所需的功能:

query_posts(\'post_type=attraction&meta_key=attraction_date&meta_value=10&meta_compare=LIKE\');

这个meta_value 参数应为月份,但由于我使用LIKE 比较一下,如果我有一个像2011年4月10日这样的日期,即使它不是从10月份开始的,也会被退回。

我知道有一个RLIKE MySQL中的表达式,该表达式允许您将regex用于LIKE 但我不确定wordpress是否允许您以任何方式使用它。

提前感谢!

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

现在还不清楚你用什么来做比较,但是WP Query 支持元查询比较,甚至有日期类型。

例如:

    $query = new WP_Query( array( 
                       \'post_type\' => \'attraction\',
                       \'meta_key\' => \'attraction_date\', 
                       \'meta_value\' => \'10\', 
                       \'meta_compare\' => \'LIKE\', 
                       \'type\' => \'DATE\' ) );
使用10 不会让你走得很远,你应该使用时间戳。

我没有在WP QUERY中测试date参数,它应该使用/将所有日期转换为unix时间戳strtotime, 如果不是,我建议这样做。

http://codex.wordpress.org/Class_Reference/WP_Query#Custom_Field_Parameters
http://php.net/manual/en/function.strtotime.php

结束

相关推荐

此假设查询中嵌套的wp_Query循环过多吗?

我正在尝试一些比我以前用WordPress做的更复杂的事情,所以如果这个问题没有意义,请原谅我。我有一个图书档案页面,希望它显示我自定义帖子类型“图书”的摘录,首先按流派排序,然后按系列排序,然后按阅读顺序排序。所以看起来是这样的:历史流派---我的第一个历史系列;系列说明;------第1、2、3册---我的第二个历史系列;系列说明;------第1、2、3册当代流派。。。等I have gone back and forth on how to set up my data. 现在,我是这样安排的:“