• Добрый день. Появилась необходимость вывести товары с минимальной ценой и по определенному атрибуту, с каждой категории по одному товару.
    До этого я выводил товары по атрибуту через шорткод
    [product_attribute category=2277,2096,227,167,361,335,441,379,197,370,356,1358,1078,172,344,314,332,374,326 attribute='kol-polzovatelej-chel' filter='".$kol."' limit=-1]
    Теперь переделал на wp_query

    
    $args = array(
        'post_type' => 'product',
        'posts_per_page' => -1,
        'tax_query' => array(
            array(
               'taxonomy' => 'pa_kol-polzovatelej-chel', 
               'field' => 'name',             
               'terms' => 6,        
            ),
            array(
               'taxonomy'  => 'product_cat',
               'field'     => 'id', 
               'terms'     => array(2277,2096,227,167,361,335,441,379,197,370,356,1358,1078,172,344,314,332,374,326)
            )
         )
    );
    

    Он мне выводит тоже самое. Но как бы мне теперь вывести только по одному товару с каждой категории с минимальной ценой? Что то никак не получается у меня

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Пока у меня тупа идея только лишь, для каждой категории создавать отдельный запрос wp_query, с лимитом 1 и сортировкой по цене. Но это чет жесть какая то)

    Но это чет жесть какая то)

    Да, но боюсь, другого способа получить из базы нужную выборку не существует. Даже если и получиться сделать это одним SQL-запросом, отнюдь не факт, что он будет эффективней нескольких более простых.

    Снизить общую нагрузку на сервер можно кэшированием, если не всей страницы, то хотя бы одной этой выборки (см. https://codex.wordpress.org/Transients_API)

    Спасибо большое за ответ

Просмотр 3 ответов — с 1 по 3 (всего 3)
  • Тема «Вывод товаров по одному из категорий» закрыта для новых ответов.