Как поднять наверх товар определенной категории WordPress (Woocommerce)?

Ссылка скопирована
1 ответ

В общем каталоге и в целом, необходимо поднять (отсортировать) товар так, чтобы 1-вые позиции были товары заданной категории.
Есть интернет-магазин (праздничных украшений) на WP с плагином Woocommerce, есть больше 10 шт категорий товаров, в определенные праздничные даты (к примеру 14 февраля), поднять в топ весь ассортимент этой категории. Что бы вывод на странице /shop начинался с этой категории и потом все остальные. Своего рода, поднять товар на первое место, чтобы покупатели их видели в первую очередь.

Дополнительно:

в общем каталоге и в целом

Переведите на подробный русский.

что бы 1-вые позиции были товары заданной категории

Что значит "заданной"?

Решение на вопрос свой не нашел

И здесь не найдете, если будите экономить на буквах в вопросе.

  • Экономии нет, что значит перевести? Есть общий каталог товаров на странице сайта, с множеством категорий (1,2,3,4,5) сортировка товаров рандомная (не учитываем стандартную сортировку плагина). Нужно получить результат, чтобы в начале вывода нас странице товаров была категория к примеру №3, а потом все остальное или 4 или 2. Без разницы. Основная цель, выводить товар заданной (т.е., выбранной или указанной мной) категории в конкретную дату.
  • Newn,

    что значит перевести?

    Исправить вопрос, рассказав так что бы его поняли другие. И не нужно воды (бесполезной инфы, не помогающих понять проблему/задачу.)

  • Refguser, написал кратко) и понятно вроде бы. Есть интернет-магазин (праздничных украшений) на WP с плагином Woocommerce, есть больше 10 шт категорий товаров, в определенные праздничные даты (к примеру 14 февраля), поднять в топ весь ассортимент этой категории. Что бы вывод на странице /shop начинался с этой категории и потом все остальные. Своего рода, поднять товар на первое место, чтобы покупатели их видели в первую очередь.
  • Newn, да НЕ НАДО В КОММЕНТАХ объяснять. Надо ВОПРОС ИСПРАВИТЬ.
  • Ответы:

    Не знаю что такое "и в целом", но страницу магазина (shop) можно сформировать блоками с выводом чего угодно, в любом порядке. в тч и выбранной категории.

    Как поднять наверх товар определенной категории Wordpress (Woocommerce)?

    • Это не поможет.
    • Newn, у людей с прямыми руками прекрасно решает описанную задачу.
    • Refguser, С глупыми советами можешь не помогать людям, те кто знает о чем речь и понимают с 1 слова что написано смогут помочь.
    • Newn, ты не только бестолковый, но ещё и хам не благодарный... Всё ясно.
    • Refguser, Смысл тут вести пустой диалог ни о чем? Платформа создана для решения вопросов и помощи, а не выяснения прямоты рук или вымещение злобы или своей не полноценности на других. Советую научиться диалогу с людьми. Хотя, это тоже не поможет, смотря на все твои комментарии у остальных, понятно кто здесь хам и трепло с кривыми руками.
    Нужно решить такую задачу?

    Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

    Заказать помощь
    Лучший ответ
    1
    Антон С. Ответ

    Поднять товары определённой категории наверх в общем каталоге WooCommerce можно через фильтр сортировки запроса. Идея: добавить к запросу сортировку так, чтобы товары из нужной категории получали приоритет, а остальные шли после них.

    Самый простой и контролируемый способ — использовать pre_get_posts и изменить основной query только на странице магазина/каталога. Но чисто через tax_query отсортировать “сначала категория X, потом остальные” неудобно. Лучше добавить кастомное поле приоритета или использовать SQL-фильтр.

    Практичный вариант без сложного SQL: на время акции массово проставлять товарам нужной категории meta _season_priority = 1, а остальным не ставить. Потом сортировать по meta:

    add_action('woocommerce_product_query', function ($q) {
        if (is_admin()) {
            return;
        }
     
        $q->set('meta_key', '_season_priority');
        $q->set('orderby', [
            'meta_value_num' => 'DESC',
            'date' => 'DESC',
        ]);
    });

    add_action('woocommerce_product_query', function ($q) { if (is_admin()) { return; } $q->set('meta_key', '_season_priority'); $q->set('orderby', [ 'meta_value_num' => 'DESC', 'date' => 'DESC', ]); });

    Товарам из праздничной категории можно проставить meta через админку, импорт или небольшой одноразовый скрипт. После окончания сезона meta удаляется или ставится 0.

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

    Также проверьте стандартные возможности WooCommerce: ручная сортировка товаров, featured products, меню “Сортировка” в категории, отдельные посадочные страницы под сезон. Иногда лучше сделать страницу “Новогодние украшения” и вести трафик туда, чем менять весь общий каталог.

    Итог: для стабильного решения заведите meta-поле приоритета и сортируйте каталог по нему. Категория определяет, кому проставить приоритет, а не участвует в сложной сортировке на каждом запросе.

    Другие ответы (0)

    Пока нет других ответов. Будьте первым, кто поможет автору.

    Ответить на вопрос

    комментарий

    Ваш адрес email не будет опубликован. Обязательные поля помечены *

    Вам также может быть интересно