WooCommerce按属性对产品列表进行排序

时间:2019-02-05 10:03:01

标签: wordpress sorting woocommerce attributes

我是WordPress和WooCommerce的新手。

我将WordPress 5.0.2WooCommerce 3.5.2一起使用。

我正在使用以下代码获取产品列表:

<?php 

$per_make = null; 
if ($_POST){
    if (isset($_POST["make"])){
        $per_make = $_POST["make"];
        setcookie('c-per_make', $_POST["make"], time() + (86400 * 30));
    }
    else {
        setcookie('c-per_make', "", time() + (86400 * 30));
    }
}
else {
    if ($_COOKIE['c-per_make']){
        $per_make = $_COOKIE['c-per_make'];
    }
}

$paged = ( get_query_var('paged') ) ? get_query_var('paged') : 1;                       
$product_query_arr = array(
        'post_type'      => array('product'),
        'post_status'    => 'publish',
        'posts_per_page' => 15,
        'paged' => $paged,
        'tax_query'      => array()
);

$taxonomy_arr[]  = array(
    'taxonomy'      => 'product_cat',
    'field'         => 'slug', 
    'terms'         => 'a-category-slug',
    'operator'      => 'IN'
);

if (isset($per_make) && !empty($per_make)){
    $make = get_term_by('slug', $per_make, 'product_cat');
    $taxonomy_arr[]=array(
            'taxonomy'        => 'pa_make',
            'field'           => 'name',
            'terms'           =>  array($make->name),
            'operator'        => 'IN',
        );

}

$product_query_arr['tax_query'] = $taxonomy_arr; 
$products = new WP_Query($product_query_arr); 

?>

现在,我想通过名为sort的另一个包含字符串值的属性按ascending的顺序pa_engine进行结果$taxonomy_arr[],但是我不确定如何实现。 我尝试将其添加到order_by以及order的{​​{1}}和$product_query_arr键中,但似乎无法正常工作。

任何人都可以让我知道如何实现它吗?还是我沿着错误的路径实施它?

0 个答案:

没有答案