- WordPress.org
- Русский
- Фильтр по атрибутам товаров в WOOCOMMERCE
- Как сделать фильтр по аттрибутам в woocommerce?
- Woocommerce YITH Фильтр товаров не работает
- Решение
- Решено Настроить фильтр Woocommerce Filter (woof) так, чтобы для фильтрации были доступны не все атрибуты
- Alexander Krechet
- Alexander Krechet
- Как сделать фильтр товаров в Woocommerce
- Виды фильтров товаров
- Фильтр товаров по цене
- Фильтр товаров по атрибутам
- Плагин фильтра товаров для Woocommerce
WordPress.org
Русский
Поддержка → WooCommerce → Фильтр по атрибутам товаров в WOOCOMMERCE
Фильтр по атрибутам товаров в WOOCOMMERCE
Всем здравствуйте.Помогите решить проблему!
Есть проблема с фильтром товаров. Необходимо сделать фильтр на сайте по размеру обуви, в данном случае кроссовки.
Что хорошо: То что в корзине можно выбрать товар нужного размера, все размеры товаров хорошо подгружаются в корзине и пользователю они видны.
Что плохо: Отфильтровать товары по размеру нельзя т.к. Фильтр не видит размеры товаров кроме тех которые я сам лично прописал вручную в каждом товаре. Учитывая что товарных позиций больше 2 тыс. и каждую неделю происходит обновление заводить размеры вручную это грех))
Что стало понятно:
1. Дело не в фильтре! Попробовал 6 разных фильтров товаров результат одинаковый у всех.
2. Если стоит ОДИН атрибут бренд или производитель то проблем не возникает. Если стоит атрибут размер то они выводятся просто текстом 36,37,38,39,40, не в виде активных кнопочек как должно быть. Причем во вкладке товара «Атрибуты» есть вкладка размер, но, как я и написал выше, значения размеров не активны.
Как должно быть: http://iziway.shop/wp-content/uploads/2019/08/Как-должно-быть.png
А вот как есть сейчас: http://iziway.shop/wp-content/uploads/2019/08/Как-есть-сейчас.png
Для пояснения:
1. Во вкладке Товары > Атрибуты, размеры все прописаны.
2. При импорте вариативного товара для каждого размера создается свой подвариант товара с указанием размеров и указанием родительского товара (parent).
Помогите пожалуйста понять в чем может быть проблема?
Может неправильный синтаксис файла CSV, но всё остальное вроде нормально загружается и проблем не возникает…
Целый день бьюсь не могу понять в чем дело.
Страница, с которой нужна помощь: [войдите, чтобы увидеть ссылку]
Источник
Как сделать фильтр по аттрибутам в woocommerce?
Атрибуты это термины таксономий,
Соответственно получить таксономии продукта, пройтись циклом вывести их термины в виде чекбоксов, все это завернуть в форму.
В обработчике формы к текущему массиву аргументов запроса добавляете необходимые параметры tax_query все это оформляете виджетом.
Могут быть еще индивидуальные атрибуты товаров, там точно так же но с произвольными полями
Да, уважаемый WP Panda, нынче все хотят плагин поставить, галочку включить у вуаля все работает. Печально, но понимание что обратная сторона универсальности есть колоссальная гора лишнего кода (КПД которого стремится к нулю), приходит только с опытом.
А если бы автор вопроса прогуглил бы эту тему и прочитал бы пару десятков статей, благо они есть в нете, то он бы понял Ваш ответ и возможно что даже не задавал бы этот вопрос.
За ответ отдельное БЛАГОДАРЮ. Кратко и в точку.
Приветствую, сейчас столкнулся с фильтрами, и как-то так получается, что из готовых либо дорого, либо не то, поэтому решил сам написать.
Т.к. фильтры выводятся на странице архива товаров, то, по идее, надо взять текущий запрос, убрать из него пагинацию, далее, пройтись по всем объектам в запросе, получить для каждого таксы с атрибутами, сгруппировать по признаку (цвет, размер и т.п.), убрать повторяющиеся и вывести все это чекбоксами в форме.
Возник вопрос:
Как взять текущий запрос и убрать из него пагинацию?
Попробую вам на конкретном примере (делал для одного проекта) показать, то что хотел сказать WP Panda (если я правильно понял).
1) Сделайте форму, через которую пользователи будут выбирать нужные атрибуты (у меня этот фильтр был написан на основе формы для поиска)
2) Добавьте обработчик этого всего в functions.php
Код скопировал целиком, понятно что у вас будут свои атрибуты
Источник
Woocommerce YITH Фильтр товаров не работает
В WooCommerce удалось успешно изготовить товары на складе, которые будут отображаться только на страницах архивов категорий товаров (не на страницах архивов магазинов) с этот код ответа :
Но я пользуюсь YITH WooCommerce Ajax Product Filter плагин, включен и работает на моих страницах магазина.
Проблема, с которой я столкнулся, заключается в том, что когда я хочу отфильтровать товары со склада на страницах архивов категорий товаров, я не получаю отфильтрованных результатов, и все товары исчезают.
Я попытался изменить приоритет крючка, сначала уменьшив его, а затем увеличивая, но безуспешно.
Я попытался добавить следующий фильтр:
Но это тоже не работает.
Как я могу решить эту проблему? Любая помощь в этом будет оценена
Решение
Я осмотрелся и обнаружил, что проблема в том, что YITH Product Filter, при использовании на странице категории, перенаправляет на страницу магазина, а поскольку на странице магазина исключены товары, отсутствующие на складе, результаты не отображаются.
Структура URL страницы магазина без фильтра:
Структура URL страницы магазина с примененным фильтром:
Структура URL страницы категории, которая показывает товары, которых нет в наличии, без примененного фильтра:
Структура URL страницы категории с примененным фильтром, такая же, как на странице магазина:
Структура URL, которая должна быть после применения фильтра на странице категории:
Я протестировал эту последнюю структуру URL на странице категории с отсутствующими на складе продуктами, и она показала мне желаемые результаты, она сузила список продуктов на основе примененного фильтра.
Я не знаю, может ли это быть полезным для тех, кто знает, как мне помочь 🙂
Источник
Решено Настроить фильтр Woocommerce Filter (woof) так, чтобы для фильтрации были доступны не все атрибуты
Alexander Krechet
Здравствуйте. Есть тестовый магазин на woocommerce с некоторым кол-вом товаров и некоторыми категорями. Помимо этого, установлен плагин woocommerce filter (woof).
Задача такая: товары (к примеру, мониторы) из категории 1 имеют следующие атрибуты — разрешение, диагональ, разъемы. Товары из категории 2 (процессоры) имеют следующие атрибуты — частота процессора, тип гнезда, наличие встроенной видеокарты.
Для отображения фильтра товаров на страницах категорий, я использую шорткод [woof] в шаблоне страницы-категории, в резльтате выводится фильтрование по ВСЕМ существующим атрибутам всех товаров — то есть разрешение, диагональ, разъемы, частота процессора, тип гнезда, наличие встроенной видеокарты. Хочу настроить woof таким образом, чтобы для каждой категории показывались только те атрибуты фильтрации, которые есть у товаров в этой категории. То есть чтоб у мониторов были только свои атрибуты фильтрации, а у процессоров — только свои. Как это можно сделать?
Alexander Krechet
Здравствуйте. Есть тестовый магазин на woocommerce с некоторым кол-вом товаров и некоторыми категорями. Помимо этого, установлен плагин woocommerce filter (woof).
Задача такая: товары (к примеру, мониторы) из категории 1 имеют следующие атрибуты — разрешение, диагональ, разъемы. Товары из категории 2 (процессоры) имеют следующие атрибуты — частота процессора, тип гнезда, наличие встроенной видеокарты.
Для отображения фильтра товаров на страницах категорий, я использую шорткод [woof] в шаблоне страницы-категории, в резльтате выводится фильтрование по ВСЕМ существующим атрибутам всех товаров — то есть разрешение, диагональ, разъемы, частота процессора, тип гнезда, наличие встроенной видеокарты. Хочу настроить woof таким образом, чтобы для каждой категории показывались только те атрибуты фильтрации, которые есть у товаров в этой категории. То есть чтоб у мониторов были только свои атрибуты фильтрации, а у процессоров — только свои. Как это можно сделать?
Источник
Как сделать фильтр товаров в Woocommerce
В Woocommerce фильтр товаров можно сделать с помощью встроенного функционала, а можно с помощью плагина.
Мы рассмотрим оба варианта.
Виды фильтров товаров
В Woocommerce предусмотрено два вида фильтрации товаров:
- Фильтр по цене
- Фильтр по атрибутам
Фильтр товаров по цене
Фильтр по цене настраивать не нужно, его нужно только активировать, установив в нужном месте соответствующий виджет. Для этого в админ панели переходим во вкладку «внешний вид/виджеты» и выбираем из списка «Фильтр товаров по цене». Затем, в зависимости от вашей темы, вставляем виджет в нужную ячейку. Настроек у виджета нет, кроме возможности поменять название.
Фильтр товаров по атрибутам
Чтобы настроить фильтр по атрибутам, нужно сначала создать необходимые атрибуты, а потом у нужных товаров их прописать.
Для этого идём во вкладку «товары/атрибуты». Там создаём нужные атрибуты и их значения.
Например создаём атрибут «бренд» со значениями «Liqui Moly», «Motul», «Shell» и т.п.
После этого переходим в интересующие нас товары и присваиваем им необходимые атрибуты.
После настройки всех атрибутов, переходим в раздел виджеты и добавляем «фильтр по атрибутам». Данный виджет имеет настройки. Можно изменить тип отображения (список или выпадающий список) и поменять вид сортировки («и/или» — суммируются атрибуты при фильтрации или нет).
В результате мы получим следующую картину.
Ещё есть один виджет «активные фильтры», который показывает, какие атрибуты в данный момент используются для фильтрации товаров. В принципе он дублирует работу двух предыдущих виджетов, так как по ним и так видно, что сейчас задействовано в фильтрах — поэтому его можно и не использовать.
Плагин фильтра товаров для Woocommerce
Вывод фильтров стандартными средствами немного неудобен, так как для каждого атрибута нужно добавлять отдельный виджет. Да и внешний вид «по умолчанию» выглядит не очень симпатично. Поэтому для реализации этого функционала можно использовать плагин Premmerce WooCommerce Product Filter.
После его установки, заходим в настройки плагина и выбираем, какие атрибуты показывать и в каком виде их отображать.
Далее идём в виджеты и добавляем «Premmerce активные фильтры» и «Premmerce фильтры». В результате получаем следующий вид.
Источник