我正在获取网址字符串,
product_cat = booking&min_prep_time = 180&max_prep_time = 220
并且我正在 $ _ GET 的帮助下将值传递到数组中。最近,我修改了tax_query和meta_query的自定义文件中的代码,这些代码对我来说很好用,但是根据我的自定义要求,我将静态值更改为动态变量,就像这样
当我使用静态值时,数组可以正常工作并获取完美数据
使用静态值的数组工作之前
$meta_query[] = array(
'key' => '_new_field',
*'value' => array( '19','22'),*
'compare' => 'between',
);
无法正常工作
$meta_query[] = array(
'key' => '_new_field',
*'value' => array( $min,$max),*
'compare' => 'between',
);
这是我完整的代码,我相信这将帮助您了解我的问题
$prod = isset($_GET['product_cat']) ? $_GET['product_cat'] : FALSE;
$min = isset($_GET['min_prep_time']) ? $_GET['min_prep_time'] : FALSE;
$max = isset($_GET['max_prep_time']) ? $_GET['max_prep_time'] : FALSE;
if( $prod && ($prod=="booking") && $min && $max) {
$tax_query[] = array(
'taxonomy' => 'product_cat',
'field' => 'slug',
'terms' => array( $prod ), // Don't display products in the clothing category on the shop page.
'operator' => 'IN'
);
$meta_query = (array)$q->get('meta_query');
// Add your criteria
$meta_query[] = array(
'key' => '_new_field',
'value' => array( $min,$max),
'compare' => 'between',
);
// Set the meta query to the complete, altered query
$q->set('meta_query',$meta_query);
$q->set('tax_query', $tax_query);
我只希望我传递从url和array获得的值,因为它对静态值有效,因此可以完美地工作。 非常感谢