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

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

HIT

02.05.2016

5410

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

Тэги:

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

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

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

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

Upgrade WC

Upgrade WC

Очередная серия улучшений (upgrade) плагина WC. Буду добавлять по мере изучения новые решения. Поиск по SKU (артикулу) Из коробки WC не ищет по артикулам (SKU). Но достаточно установить плагин Search Читать далее »

/
Купить в 1 клик

Купить в 1 клик

Добавляем в интернет-магазин кнопку «Купить в 1 клик». Рассмотрим различные плагины по данному направлению. WooCommerce Direct Checkout Плагин с 20 000 скачиваниями, по сути только меняет назначение кнопки «В корзину», Читать далее »

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

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

  1. Аватар
    Bадим

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

    1. maker1447
      maker1447

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

  2. Аватар
    Bадим

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

    1. maker1447
      maker1447

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

  3. Аватар
    Bадим

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

    1. maker1447
      maker1447

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

  4. Аватар
    Bадим

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

    1. maker1447
      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
      maker1447

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

      1. Аватар
        Bадим

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

        1. maker1447
          maker1447

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

          1. Аватар
            Bадим

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

          2. maker1447
            maker1447

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

          3. maker1447
            maker1447

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

  7. Аватар
    Bадим

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

  8. Аватар
    Илья

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

    1. Alexandr
      Alexandr

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

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