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

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

HIT

02.05.2016

8382

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>';

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

  • Похожие записи
  • Комментарии
  • Вложения
Атрибуты товара WC

Атрибуты товара WC

В интернет-магазине Woocommerce есть функционал атрибутов. Атрибуты товара — это дополнительные поля для различных значений. Атрибуты бывают 2-х типов: текстовый (text) и с выбором значения (select). Архив значения атрибута Для Читать далее »

/
Конвертировать цену в рубли

Конвертировать цену в рубли

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

Обзор плагинов по созданию скидок

Обзор плагинов по созданию скидок

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

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

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
Плавный скроллинг колесом
Рекомендации для васПлавный скроллинг колесомOpttour.ru
Спасибо! Наш менеджер свяжется с Вами в течении 5 минут.