WooCommerce: заменить дом в сухарях значком FontAwesome - PullRequest
1 голос
/ 16 июня 2019

Я пытаюсь найти способ использовать домашнюю иконку от FontAwesome в моем журнале для WooCommerce, но он просто отображается пустым. По сути, я подправил код, который предоставляет Woo, чтобы заменить текст крошки другим текстом, но, думаю, он не любит теги HTML. Это мой код.

add_filter( 'woocommerce_breadcrumb_defaults', 'wcc_change_breadcrumb_home_text' );
function wcc_change_breadcrumb_home_text( $defaults ) {
    $defaults['home'] = '<i class="fas fa-home"></i>';
    return $defaults;
}

Ответы [ 2 ]

0 голосов
/ 16 июня 2019

Менее элегантным решением было бы редактировать файл шаблона хлебных крошек. Вам нужно будет использовать дочернюю тему и иметь существующий файл шаблона панировочных сухарей в:

/ WooCommerce / глобальный / breadcrumb.php

где / - папка вашей дочерней темы. Внутри breadcrumb.php найдите следующее выражение if:

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] );
        }

изменить вышеприведенное выражение if на следующее:

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

Вот руководство по , как редактировать файлы шаблонов WooCommerce.

0 голосов
/ 16 июня 2019

Фильтр позволяет изменять только текст без добавления тегов HTML, поскольку домашний разделитель заключен в esc_html ().Вот одно из решений.Измените фильтр следующим образом:

add_filter( 'woocommerce_breadcrumb_defaults', 'wcc_change_breadcrumb_home_text' );
function wcc_change_breadcrumb_home_text( $defaults ) {
    $defaults['before'] = '<span class="nmr-crumb">';
    $defaults['after'] = '</span>';
    $defaults['home'] = ' ';
    return $defaults;
}

Используйте пробел внутри одинарных кавычек в строке с $ defaults ['home'] = '';

Далее вам понадобитсядобавить следующее в вашу тему style.css:

.woocommerce-breadcrumb .nmr-crumb:first-child a {
    text-decoration: none;
}
.woocommerce-breadcrumb .nmr-crumb:first-child a::before {
    font-family: FontAwesome;
    content: '\f015';
}

Кредит: https://wordpress.org/support/topic/swap-home-for-icon/

...