我将ACF Pro存储的日期类型存储在自定义元“ event_date”中,并且希望通过查询按月过滤事件。数据存储在
我知道我需要像这样使用meta_query数组:
$args['meta_query'] = array(
array(
'key' => 'event_date',
'value' => ?,
'compare' => '=',
'type' => 'DATE'
)
);
但是meta query
允许与完整日期进行比较。如何比较month变量(数字1到12)是否与event_date
元月份相同?
谢谢
答案 0 :(得分:1)
假设您使用的是ACF的默认日期“保存格式”,即“ yymmdd”。请尝试以下“元查询”。
月份:
<bean id="viewResolver" class="org.springframework.mobile.device.view.LiteDeviceDelegatingViewResolver">
<constructor-arg>
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver">
<property name="viewClass" value="org.springframework.web.servlet.view.JstlView" />
<property name="prefix" value="/WEB-INF/jsp/" />
<property name="suffix" value=".jsp" />
</bean>
</constructor-arg>
<property name="mobilePrefix" value="mobile/" />
<property name="enableFallback" value="true"/>
</bean>
全年:
$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'
。