Как убрать из хлебных крошек название атрибута?

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

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

Как убрать из хлебных крошек название атрибута?

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

Твоё "свойство" и есть атрибут. Логично, что в ХК показывается его путь. Вот убрать слово "товар" из них - другое дело. В инете были рецепты.

Как костыль, если значений атрибутов не много, можно отключить архивы атрибутов и под каждение значение создать страницу и в ней уже вывести шоткодом (или блоком или плагином) архив значения атрибута.

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

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

Заказать помощь
Лучший ответ
1
Андрей PHP Ответ

Убрать часть хлебных крошек WooCommerce можно, но способ зависит от того, кто их выводит: WooCommerce, тема, Yoast SEO, Rank Math или отдельный плагин breadcrumbs. Если речь про архив атрибута товара, строка “Товар / Назначение препарата / Иммунитет и тонус” логична: это путь до taxonomy archive атрибута.

Если крошки выводит WooCommerce, можно фильтровать массив crumbs:

add_filter('woocommerce_get_breadcrumb', function ($crumbs, $breadcrumb) {
    if (is_tax('pa_naznachenie-preparata')) {
        foreach ($crumbs as $key => $crumb) {
            if (isset($crumb[0]) && in_array($crumb[0], ['Товар', 'Назначение препарата'], true)) {
                unset($crumbs[$key]);
            }
        }
        $crumbs = array_values($crumbs);
    }
 
    return $crumbs;
}, 10, 2);

add_filter('woocommerce_get_breadcrumb', function ($crumbs, $breadcrumb) { if (is_tax('pa_naznachenie-preparata')) { foreach ($crumbs as $key => $crumb) { if (isset($crumb[0]) && in_array($crumb[0], ['Товар', 'Назначение препарата'], true)) { unset($crumbs[$key]); } } $crumbs = array_values($crumbs); } return $crumbs; }, 10, 2);

Но названия и taxonomy slug нужно заменить на реальные. Если крошки выводит Yoast, нужен фильтр wpseo_breadcrumb_links. Для Rank Math — свой фильтр. Поэтому сначала откройте код страницы и посмотрите классы breadcrumbs или отключите по очереди вывод темы/плагина на тесте.

SEO-риска в удалении промежуточной крошки обычно нет, если страница остаётся доступной и canonical правильный. Но с точки зрения навигации иногда полезно оставить атрибут, потому что пользователь понимает, в какой группе находится значение. Если атрибутов мало и нужны красивые посадочные, вариант со статическими страницами действительно может быть удобнее, но это уже ручная архитектура с редиректами и canonical.

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

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

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

комментарий

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

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