/ Плагины / Хлебные крошки WC

Хлебные крошки WC

HIT

02.05.2016

8416

19

Хлебные крошки WC имеют свои особенности. Их невозможно заменить стандартными хлебными крошками, т.к. в них еще не предусмотрена система для иерархических таксономий.

Выводим хлебные крошки

Первым делом надо назначить хлебные крошки для вывода (первая половина в скобке — место где их выводить)

// Добавить хлебные крошки под заголовок
add_action( 'woocommerce_before_shop_loop', 'woocommerce_breadcrumb', 4 ); //В категориях
add_action( 'the_woocommerce_single_title', 'woocommerce_breadcrumb', 6 ); //В карточке товара (кастомный хук)
add_action( 'woocommerce_before_single_product', 'woocommerce_breadcrumb', 10 ); //В карточке товара (стандарт)

Внедряем страницу каталога

Изначально в хлебных крошках WC настроено следующим образом:

Главная/Категория/Подкатегория/Товар

При этом Главная ведет на главную страницу. Но в хлебных крошках отсутствует ссылка на главную страницу каталога shop либо любую другую.

Можно сделать так: переименовать с Главная на Каталог и изменить ссылку с главной на каталог.

// Изменяем в хлебных крошках текст для главной страницы с 'Главная' на 'Каталог'
add_filter( 'woocommerce_breadcrumb_defaults', 'jk_change_breadcrumb_home_text' );
function jk_change_breadcrumb_home_text( $defaults ) {
$defaults['home'] = 'Каталог';  
return $defaults;  
}

// Изменяем в хлебных крошках ссылку на 'Каталог'
add_filter( 'woocommerce_breadcrumb_home_url', 'woo_custom_breadrumb_home_url' );
function woo_custom_breadrumb_home_url() {
      return '/katalog-tovarov/';
}

katalog-tovarov — страница аналог стандартной страницы WC Shop

В данный код невозможно добавить иконки FontAwesome

Возвращаем главную страницу

Но теперь у нас отсутствует в хлебных крошках Главная — добавляем ее вручную прямо в шаблон woocommerce/global/breadcrumb.php, после строки echo $wrap_before;

echo '<a rel="v:url" property="v:title" href="'. get_bloginfo('url') .'"><i class="fa fa-home"></i></a>';
echo $delimiter;

Вот теперь хлебные крошки WC содержат все необходимое!

Убираем наименование текущей страницы

Если необходимо убрать из пути хлебных крошек название текущей страницы, делаем следующее.
Открываем шаблон woocommerce/global/breadcrumb.php и оборачиваем пункт echo esc_html( $crumb[0] ); в span с id=»final», и задаем ему стиль display: none;

echo '<span id="final">';
echo esc_html( $crumb[0] );
echo '</span>';

Поделиться в соц. сетях:

  • Похожие записи
  • Комментарии
  • Вложения
Сравнение товаров (Compare)

Сравнение товаров (Compare)

Сравнение товаров (Compare) нужно для сайта с товарами у которых есть некоторые технические характеристики. Это может быть как электроника, так и более простые вещи, например ламинат. Сделаем обзор плагинов посвященных Читать далее »

Метод изменения шаблонов woocommerce

Метод изменения шаблонов woocommerce

В данной статье будет рассмотрен метод изменения шаблонов плагина Woocommerce. Разделение шаблонов категории и товара Первым делом надо разделить общий шаблон woocommerce.php на woocommerce-product.php и woocommerce-category.php. Делаем это простой проверкой: Читать далее »

WooCommerce AJAX Products Filter

WooCommerce AJAX Products Filter

Раннее данный фильтр участвовал в общем обзоре, в котором я приводил основные особенности. Рассмотрим подробнее работу с фильтром WooCommerce AJAX Products Filter (также он называется Advanced AJAX Product Filters). Работа Читать далее »

/

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

19 комментариев

  1. Bадим

    Выполнил первый пункт — добавил ХК под заголовок. В категории ХК выводятся, а в карточке товара нет. Как исправить?

    1. maker1447

      the_woocommerce_single_title — это мой кастомный хук, показал как пример. В стандартной версии WP хлебные крошки в карточке надо назначать так: add_action( ‘woocommerce_before_single_product’, ‘woocommerce_breadcrumb’, 10 );

  2. Bадим

    Спасибо, получилось! А как убрать последний пункт в крошках? Тот который открыт и не имеет ссылки?

    1. maker1447

      Надо редактировать файл breadcrumb.php. Он находится в папке woocommerce/global (в идеале локализованной в папке темы).
      В нем надо убрать вывод echo esc_html( $crumb[0] ); или закомментировать его //echo esc_html( $crumb[0] );

  3. Bадим

    С окончанием крошек разобрался. А сссылку на магазин не понимаю как вставить в крошки. Вставлял код из второго пункта — не работает, выдает страница не найдена. А где надо ссылку указать?

    1. maker1447

      /katalog-tovarov/ — тут должна быть указана ваша созданная страница. Либо можно указать стандартную shop (которая создается при установке WC)

  4. Bадим

    Скажите, а нельзя чтобы открывалась страница в зависимости от языка? У меня сайт имеет три языка — русский , английский и испанский, а ссылка направляет на русскую страницу каталога из любого языка. Да и само название в крошках хорошо бы чтобы переводилось так же в зависимости от языка.

    1. maker1447

      Языки именно в Woocomerce еще не делал.. Тут надо тестировать плагины, например: Polylang
      https://opttour.ru/web/plugins/multiyazyichnost-sayta/
      или поискать специальные для WC.

  5. Bадим

    У меня стоит qTranslate-X. Polylang не совсем работает с Woocommerce.

  6. Bадим

    Вставил код в woocommerce/global/breadcrumb.php, но Главная в крошках не появилась.

    1. maker1447

      У Вас шаблон woocommerce локализован?, т.е. папка woocommerce находится в папке темы? и в ней Вы правите woocommerce/global/breadcrumb.php ???

      1. Bадим

        Да, папка Wocommerce находится в папке темы. Т.е. в дочерней теме.

        1. maker1447

          Я тогда не понимаю: как там может что-то не работать. Там будет выводится все что вы пропишите. Проверьте синтаксис — может где-то что-то пропустили или не закрыли.

          1. Bадим

            Скажите, а ссылку на стр здесь вставлять надо?

          2. maker1447

            Нет, второй пункт (Внедряем страницу каталога) надо вставлять в файл functions.php

          3. maker1447

            Я понял!, Вам надо вместо написать Главная. Вставлять надо прямо в шаблон woocommerce/global/breadcrumb.php

  7. Bадим

    Со вторым пунктом я разобрался. А вот главная не появляется. Пункт «Возвращаем главную страницу» у меня не работатет. Синтаксис проверил.

  8. Илья

    Подскажите, а что нужно прописать и изменить, чтобы придать хлебным крошкам другой вид на страницах атрибуты и метки?
    В данный момент:
    Метка: Главная / Товары с меткой “Название метки”
    Атрибут: Главная / Товар Наименование атрибута / Имя атрибута
    Нужно:
    Метка: Главная / Название метки
    Атрибут: Главная / Наименование атрибута / Имя атрибута

    1. Alexandr

      Хороший вопрос! Сам над этим думаю, но пока безуспешно. Я пытался из ХБ архива атрибута хотя убрать слово «товар», но тщетно.

Хлебные крошки WC
Кнопки WC
Рекомендации для васКнопки WCOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.