Удалить "Магазин" из панировочных сухарей Woocommerce - PullRequest
0 голосов
/ 24 октября 2018

У меня нет главной страницы магазина, только категории товаров.Панировочные сухари Woocommerce всегда показывают след "Магазина" в сухарях, которые мне нужно удалить.В документах Woo я могу только получить информацию о том, как изменить «домашний» слаг или разделитель или как полностью удалить панировочные сухари.Как мне просто удалить след "Магазина"?

РЕДАКТИРОВАТЬ: Я не хочу изменять / изменять имя / ссылку следа "магазина", но полностью удалить его!

Ответы [ 3 ]

0 голосов
/ 24 октября 2018
// Remove shop from breadcrumbs
function my_remove_shop_from_breadcrumbs( $trail ) {
   unset( $trail['shop'] );
   return $trail;
}
add_filter( 'wpex_breadcrumbs_trail', 'my_remove_shop_from_breadcrumbs', 20 );

добавить код в function.php

0 голосов
/ 12 марта 2019

Для полного контроля над выходом «хлебных крошек» я бы рекомендовал скопировать файл breadcrumb.php, расположенный в -> plugins / woocommerce / global / breadcrumb.php1001 *

Мои хлебные крошки по умолчанию выглядели так: «Домой» Магазин »Домой» Категория »Подкатегория» Товар »Дом почему-то появился дважды.Ниже приведен код из breadcrumb.php, который показывает, как я удалил первое приложение «Дом» и «Магазин»

if ( ! empty( $breadcrumb ) ) {

echo $wrap_before;

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

    echo $before;

    //Every crumb have a $key which starts at 0 for the first crumb. 
    //Here I simply skip out of the loop for the first two crumbs. 
    //You can just echo the $key to see what number you need to remove. 
    if( $key === 0 || $key === 1 ){
        continue;
    }

    if ( ! empty( $crumb[1] ) && sizeof( $breadcrumb ) !== $key + 1 ) {
        echo '<a href="' . esc_url( $crumb[1] ) . '">' . esc_html( $crumb[0] ) . '</a>';
    } else {
        echo esc_html( $crumb[0] );
    }

    echo $after;

    if ( sizeof( $breadcrumb ) !== $key + 1 ) {
        echo ' &raquo; ';
    }
}

echo $wrap_after;

}

Чтобы изменить URL-адреса, просто установите новый в привязке тег для данного ключа $ илизначение крошки [0].Если вы хотите, чтобы это происходило только в определенных местах вашего магазина, просто используйте условные функции woocommerce, такие как:

if(is_product()){
    if( $key === 0 || $key === 1 ){
       continue;
    }
}

Удаляет только две первые крошки только на одной странице товара.Подробнее на https://docs.woocommerce.com/document/conditional-tags/

0 голосов
/ 24 октября 2018

Чтобы полностью удалить «Магазин» из хлебных крошек Woocommerce, используйте следующее:

add_filter( 'woocommerce_get_breadcrumb', 'remove_shop_crumb', 20, 2 );
function remove_shop_crumb( $crumbs, $breadcrumb ){
    foreach( $crumbs as $key => $crumb ){
        if( $crumb[0] === __('Shop', 'Woocommerce') ) {
            unset($crumbs[$key]);
        }
    }

    return $crumbs;
}

Код находится в файле function.php вашей активной дочерней темы (или активной темы).Проверено и работает.

...