首页 文章

从WP_Query中的日期元查询中获取月份

提问于
浏览
0

我将ACF Pro存储的日期类型存储在自定义元“event_date”中,我想用查询过滤几个月的事件 . 数据存储在

我知道我需要像这样使用meta_query数组:

$args['meta_query'] = array(
    array(
        'key' => 'event_date',
        'value' => ?,
        'compare' => '=',
        'type' => 'DATE'
    )
);

meta query 允许与完整日期进行比较 . 如何比较月份变量(数字1到12)是否与 event_date 元月相同?

谢谢

1 回答

  • 1

    假设您使用的是ACF的默认日期“保存格式”,即'yymmdd' . 尝试以下“元查询” .

    FOR MONTH:

    $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'
        )
    );
    

    FOR YEAR:

    $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'=>'NUMERIC'代替'type'=>'DATE' .

相关问题