php - 从 WP_Query 中的日期元查询获取月份
问题描述
我将 ACF Pro 存储的日期类型存储在自定义元“event_date”中,我想通过查询按月过滤事件。数据存储在
我知道我需要像这样使用 meta_query 数组:
$args['meta_query'] = array(
array(
'key' => 'event_date',
'value' => ?,
'compare' => '=',
'type' => 'DATE'
)
);
但是meta query
允许与完整日期进行比较。如何比较月份变量(数字 1 到 12)是否与event_date
元月份相同?
谢谢
解决方案
假设您使用的是 ACF 的默认日期“保存格式”,即“yymmdd”。尝试以下“元查询”。
一个月:
$month = date('m'); // Change to static if not current month (should be 2 digits)
$start_date = date('Y'.$month.'01'); // First day of the month
$end_date = date('Y'.$month.'t'); // Last day of the month
$args['meta_query'] = array(
array(
'key' => 'event_date',
'value' => array($start_date, $end_date),
'compare' => 'BETWEEN',
'type' => 'DATE'
)
);
年度:
$year = date('Y'); // Change to static if not current year (should be 4 digits)
$start_date = date($year.'0101'); // First day of the year
$end_date = date($year.'1231'); // Last day of the year
$args['meta_query'] = array(
array(
'key' => 'event_date',
'value' => array($start_date, $end_date),
'compare' => 'BETWEEN',
'type' => 'DATE'
)
);
注意:代替
'type' => 'DATE'
,您也可以使用'type' => 'NUMERIC'
。
推荐阅读
- python - 从列表中为 Python 字典分配和显示值的正确方法是什么?
- rest - 更正 HTTP 状态代码以用于超出已知数据的查询
- javascript - 如何将第一个数组中的 index[0] 中的值分配给第二个数组中的 index[0]?
- xml - 如何在 XSLT 中使用 KEY、KEYREF 显示数据
- r - 数据框中的列联表,将第一列作为参考
- unity3d - Shader.CreateGPUProgram - 性能问题
- ios - 如何增加 UItableviewcell 内的 UItableview 高度?
- android - 如何防止 RecyclerView 在布局计算后自动滚动
- r - R:直接从网站读取 .DAT 文件时出错
- database - 为什么 Spark Mongo 连接器不下推过滤器?