让我们说我有一个房屋清单,他们有一个名为“尺寸”的属性,现在我希望所有房屋的尺寸在200到300之间。
我试过了
$args = array(
'post_type' => 'product',
'post_status' => 'publish',
'posts_per_page' => 2,
'paged' => $paged,
'meta_query' => array(
array(
'key' => 'pa_size',
'value' => array($sizeMin, $sizeMax),
'compare' => 'BETWEEN',
'type' => 'NUMERIC'
)
);
);
然后我尝试使用tax_query,但我找不到在两个值之间得到一个术语的方法。
$args = array(
'post_type' => 'product',
'post_status' => 'publish',
'posts_per_page' => 2,
'paged' => $paged,
'tax_query' => array(
array(
'taxonomy' => 'pa_size',
'field' => 'slug',
'terms' => $sizevalue
)
);
);
无法理解这是不可能的,但我认为值必须是一个字符串,因此它不能介于两者之间。
现在我在显示它们时在我的foreach循环中对它们进行排序但是我的分页不起作用。
答案 0 :(得分:0)
我的结论是你不能用woocommerce产品属性来做这件事,因为它们是基于文本的,我做了一些Advancec自定义字段并像这样使用它们
$args = array(
'post_type' => 'product',
'post_status' => 'publish',
'posts_per_page' => 2,
'paged' => $paged,
'meta_query' => array(
'relation' => 'AND,
array(
'key' => 'myCutsomField',
'value' => array($sizeMin, $sizeMax),
'compare' => 'BETWEEN',
'type' => 'NUMERIC'
),
array(
'key' => 'myCutsomField2',
'value' => array($valueMin, $valueMax),
'compare' => 'BETWEEN',
'type' => 'NUMERIC'
)
);
$products = new WP_Query( $args );