我需要按日期范围搜索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;} );
如何将过滤器正确应用于产品循环,以便只显示所选月份的产品?
由于