Как сортировать товары по минимальной цене вариации?

введите сюда описание изображения

Используя этот код я могу регулировать сортировку, однако у меня появилась проблемка. Сортировка от дорого к дешевому курсу отображается не верно. Прошу вашей помощи.

add_filter('woocommerce_get_catalog_ordering_args', 'woocommerce_get_catalog_ordering_name_args');
function woocommerce_get_catalog_ordering_name_args($args)
{
  if (isset($_GET['orderby'])) {
    switch ($_GET['orderby']):
      case 'name_list_asc':
        $args['orderby'] = 'meta_value';
        $args['order'] = 'ASC';
        $args['meta_key'] = 'courses-page_description_start_date';
        break;
      case 'price-desc':
        $args['orderby'] = '_regular_price';
        
        $args['order'] = 'DESC';
        $args['type'] = 'product';
        $args['meta_key'] = '_price';
        
        break;
      case 'name_list_desc':
        $args['orderby'] = 'title';
        $args['order'] = 'DESC';
        $args['meta_key'] = '';
        break;
    endswitch;
  } else {
    $args['orderby'] = 'meta_value';
    $args['order'] = 'ASC';
    $args['meta_key'] = 'courses-page_description_start_date';
  }

  return $args;
} 

Используемая цена является переменной. $product->get_variation_sale_price('min', true)

https://litschool.stebnev.ru/webinars/?orderby=price-desc


Ответы (0 шт):