Убираем последний пункт из хлебных крошек WooCommerce

Чтобы не дублировать заголовок товара в хлебных крошках, перепишем шаблон хлебных крошек breadcrumb.php

Если в теме WordPress нет папок woocommerce/global, то нужно создать данные папки и поместить в них файл breadcrumb.php со следующим кодом:

<?php

if ( ! defined( 'ABSPATH' ) ) {
   exit;
}

if ( ! empty( $breadcrumb ) ) {

   echo $wrap_before;

   foreach ( $breadcrumb as $key => $crumb ) {

      echo $before;

      if ( ! empty( $crumb[1] ) && sizeof( $breadcrumb ) !== $key + 1 ) {
         echo '<a href="' . esc_url( $crumb[1] ) . '">' . esc_html( $crumb[0] ) . '</a>';
      } else {
            if(!is_singular()){ //если страница товара, поста, то не выводим заголовок
                echo esc_html( $crumb[0] );
            }
      }

      echo $after;
        if(sizeof( $breadcrumb ) -2 == $key && (is_singular())){
            continue;
        }

      if ( sizeof( $breadcrumb ) !== $key + 1 ) {
         echo $delimiter;
      }
   }

   echo $wrap_after;

}

Кроме этого нужно убрать последний элемент хлебных крошек из микроразметки. Добавим это код в functions.php:

add_filter('woocommerce_structured_data_breadcrumblist', 'remove_last_woocommerce_structured_data_breadcrumblist',10,1);

function remove_last_woocommerce_structured_data_breadcrumblist($markup){
    if(is_singular()){
        array_pop($markup['itemListElement']);
    }
    return $markup;
}

Обновлено: 29.10.2018

Вам помогла эта статья? Оцените!
(9 оценок, среднее: 4,56 из 5)
Загрузка...

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

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