2017-08-07 47 views
0
过滤

可以说我有一个列表关闭房屋和他们有一个所谓的“大小”属性现在我想要得到的尺寸200和300woocommerce产品属性,如何将两个值之间

之间的所有的房子我都试过

$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

我的结论是,你不能做到这一点与woocommerce产品属性,因为它们基于文本的,SA我做了一些Advancec自定义字段,并用它们insted的这样

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