WooCommerce сортировать список товаров по атрибутам - PullRequest
0 голосов
/ 05 февраля 2019

Я новичок в WordPress и WooCommerce.

Я использую WordPress 5.0.2 с WooCommerce 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, чтобы ввести $product_query_arr, но, похоже, не работает.

Может кто-нибудь дать мне знать, как это реализовать?Или я иду по неверному пути для его реализации?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...