按日期范围在WooCommerce中过滤产品

时间:2017-02-13 09:01:23

标签: wordpress woocommerce

我需要按日期范围搜索WooCommerce中的产品,确切地说是每个月。我为使用ACF创建的产品设置了2个自定义字段( acf-season_from acf-season_to )。 我尝试使用 pre_get_posts 过滤器,但无法正常工作。这是我的代码:

add_filter( 'pre_get_posts', function( $query ) {
    if ( ! is_shop() ) { return; }

    $current_m = date('m');
    $month = $_GET['m'];

    $year = date("Y");
    if( $current_m > $month)
        $year = date('Y', strtotime('+1 year'));

    $query->set( 'meta_query', array(
        array(
              'key' => 'acf-season_from',
              'value' => date( "d/m/Y", mktime( 0,0,0,date($month),date('01'),date($year))),
              'compare' => '>=',
              'type' => 'DATE'

        ),
        array(
              'key' => 'acf-season_to',
              'value' => date( "d/m/Y", mktime(0,0,0,date($month),date("t"),date($year))),
              'compare' => '<=',
              'type' => 'DATE'
        )
    ) );

    return $query;} );

如何将过滤器正确应用于产品循环,以便只显示所选月份的产品?

由于

0 个答案:

没有答案