/ Сайтостроение / Плагины / Фильтры Woocommerce

Фильтры Woocommerce

HIT

09.08.2017

2179

В базовую комплектацию Woocommerce входит набор виджетов для фильтрации товаров. Но данные виджеты необходимо несколько доработать.

WooCommerce Навигация по слоям

В этом виджете необходимо задать атрибут товара по которому будет происходить фильтрация. Условие фильтрации можно выбрать: И — один из вариантов, ИЛИ — несколько вариантов.

Доработаем стили данного виджета (требуется подключение FontAwesome):

li.wc-layered-nav-term {list-style: none;}

li.wc-layered-nav-term a:before {
font-family: FontAwesome;
margin-right: .53em;
display: inline-block;
color: #ff6b6b;
content: "\f096";
}

li.wc-layered-nav-term.chosen a:before {
font-family: FontAwesome;
margin-right: .53em;
display: inline-block;
color: #ff6b6b;  
content: "\f046";
}

Сделать подобный виджет по меткам, по статусу наличия, по доп. таксономиям

Сделать кнопку очистки фильтра

WooCommerce Навигационные фильтры

Еще один стандартный фильтр. Показывает действующие в данные момент фильтры. Этот виджет более целесообразно вызывать не в сайтбаре, а в области контента. При нажатии на активный фильтр — он устраняется.

Вызывается виджет так:

<?php the_widget( 'WC_Widget_Layered_Nav_Filters' ); ?>

Доработанные стили виджета:

/* Виджет Активные фильтры */

.widget_layered_nav_filters {display: inline-block; width: 100%;}

.widget_layered_nav_filters ul {padding: 0;}

.widget_layered_nav_filters li {list-style: none; display: inline-block; margin-right: 15px;}

.widget_layered_nav_filters li a {
    float: left;
    border: 1px solid #ff6b6b;
    padding: 3px 10px;
    border-radius: 5px;
}

.widget_layered_nav_filters li a:before {
font-family: FontAwesome;
margin-right: .53em;
display: inline-block;
color: #ff6b6b;  
content: "\f00d";
}

.wc-layered-nav-term .count {color: #aaa; font-size: 12px;}

Группа фильтров

Если делать каждый фильтр отдельным виджетом, то получиться довольно вытянутый сайтбар. При этом фильтры визуально не будут выглядеть одним целым. Чтобы это исправить необходимо завести новую область виджетов без тегов стандартного виджета

//регистрируем сайдбар Filter-group
register_sidebar(
  array(
    'id' => 'filter',
    'name' => __( 'Filter-group' ),
    'description' => __( 'Фильтр атрибутов' ),
    'before_widget' => '<div class="filter-block">',
    'after_widget' => '</div>',
    'before_title' => '<h4>',
    'after_title' => '</h4>'
    )
);

И вставить его в сайтбар обернув тэгами стандартного виджета

<div class="widget">

<h3 class="headwidget">Фильтр по товарам</h3>

<?php dynamic_sidebar( 'filter' ); ?>

</div>

И в эту созданную область виджетов (Filter-group) поместить все фильтры Woocommerce.

Тэги: , ,

Поделится информацией с друзьями

  • Похожие записи
  • Комментарии
  • Вложения
Исчезающие сообщения woocommerce

Исчезающие сообщения woocommerce

У woocommerce есть встроенная система сообщений: при добавлении товара в корзину, при удалении товара из корзины, при различных ошибках. Но они появляются перед основным контентом, нарушая исходную верстку. Сделаем их Читать далее »

Сайтбар

Сайтбар

Вспомогательная панель или сайтбар довольно удобная штука. В нее мы можем поместить множество необходимых модулей и виджетов по функционалу сайта: от формы поиска до ленты Instagram. Сайтбар размещен справа либо Читать далее »

Вложить файл в заказ

Вложить файл в заказ

Если необходимо приложить к заказу реквизиты или любой другой файл, к заполняемым полям нужно добавить загрузчик файла. Easy Upload Files During Checkout (1000) Простой но рабочий функционал. В бесплатной версии Читать далее »

Добавить комментарий

Пока нет комментариев. Будь первым!

Фильтры Woocommerce
Библиотека эффектов при наведении курсора ihover
Рекомендации для васБиблиотека эффектов при наведении курсора ihoverOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.