Как изменить шаблон вывода виджета в сайдбаре?

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

Здравствуйте.
У меня на сайте стоит wordpress + woocommerce.
На странице каталога в меню вывожу виджет "Фильтрация по атрибуту", только мне его шаблон вывода не нравится. Не подскажите где это можно изменить?

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

Нужно решить такую задачу?

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

Заказать помощь
Лучший ответ
1
Редакция по БД Ответ

У виджета WooCommerce “Фильтрация по атрибуту” нет такого же простого template override, как у шаблонов товаров в woocommerce/templates. Часть вывода идёт из класса виджета, поэтому путь зависит от того, что именно нужно изменить: обёртку, отдельный пункт списка, счётчик, ссылки или всю структуру.

Если нужно изменить HTML каждого термина фильтра, используйте фильтр woocommerce_layered_nav_term_html:

add_filter('woocommerce_layered_nav_term_html', function ($term_html, $term, $link, $count) {
    return sprintf(
        '<a class="filter-attr filter-attr--%1$s" href="%2$s"><span>%3$s</span><em>%4$d</em></a>',
        esc_attr($term->slug),
        esc_url($link),
        esc_html($term->name),
        (int) $count
    );
}, 10, 4);

add_filter('woocommerce_layered_nav_term_html', function ($term_html, $term, $link, $count) { return sprintf( '<a class="filter-attr filter-attr--%1$s" href="%2$s"><span>%3$s</span><em>%4$d</em></a>', esc_attr($term->slug), esc_url($link), esc_html($term->name), (int) $count ); }, 10, 4);

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

Также проверьте, не используете ли вы новый блок WooCommerce для фильтров вместо старого виджета. У блоков другая система вывода, и правки через старые widget hooks могут не сработать.

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

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

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

комментарий

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

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