Я пытаюсь получить возможность сортировать продукты на странице категории товаров в Woocommerce по их среднему рейтингу.Сортировать продукты по рейтингу в woocommerce
Я нашел код, чтобы поместить рейтинг на страницу продукта, добавлен код функции functions.php (см. Ниже), но рейтинг выбора не делает ничего.
Что такое meta_key, которую мне нужно вызвать (или создать), чтобы заставить это работать?
add_filter('woocommerce_get_catalog_ordering_args','custom_woocommerce_get_catalog_ordering_args');
function custom_woocommerce_get_catalog_ordering_args($args) {
if (isset($_SESSION['orderby'])) {
switch ($_SESSION['orderby']) :
case 'date_asc' :
$args['orderby'] = 'date';
$args['order'] = 'asc';
$args['meta_key'] = '';
break;
case 'price_desc' :
$args['orderby'] = 'meta_value_num';
$args['order'] = 'desc';
$args['meta_key'] = '_price';
break;
case 'title_desc' :
$args['orderby'] = 'title';
$args['order'] = 'desc';
$args['meta_key'] = '';
break;
case 'rating_desc' :
$args['orderby'] = 'rating';
$args['order'] = 'desc';
$args['meta_key'] = '';
break;
endswitch;
}
return $args;
}
add_filter('woocommerce_catalog_orderby', 'custom_woocommerce_catalog_orderby');
function custom_woocommerce_catalog_orderby($sortby) {
$sortby['rating_desc'] = 'Rating';
$sortby['title_desc'] = 'Reverse-Alphabetically';
$sortby['price_desc'] = 'Price (highest to lowest)';
$sortby['date_asc'] = 'Oldest to newest';
return $sortby;
}