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

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

HIT

02.05.2016

8763

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>';
[site-socialshare]
  • Похожие записи
  • Комментарии
  • Вложения
Отключаем стандартные метабоксы

Отключаем стандартные метабоксы

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

Отключить кнопку Купить (чекбокс)

Отключить кнопку Купить (чекбокс)

Сделаем возможность у некоторых товаров отключать кнопку купить. Добавляем поле (чекбокс) Скрываем кнопку Добавить в корзину в карточке товара Изменяем кнопку В корзину в категориях Тут не получится отключить хуком, Читать далее »

Изменение методов доставки в зависимости от условий

Изменение методов доставки в зависимости от условий

При оформлении товара мы можем задавать условия для вывода методов доставки, а также менять их стоимость. В данном примере при достижении сумм 1000 и 5000 методы доставки становятся бесплатными. Закомментирован Читать далее »

/

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

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