Изменение текста корзины заголовка в витрине

Я хотел бы отредактировать текст в мини-корзине заголовка в теме Витрины: «X items», чтобы просто: «X» http://demo.woothemes.com/storefront/

Где я могу получить к этому доступ? Не могу найти его нигде в витрине или в файлах woocommerce. Я вижу ловушку в header.php: storefront_header_cart, но не могу найти для этого никакой функции в других файлах?

Я бы тоже хотел убрать раскрывающийся список, когда вы наводите на него курсор. Где я могу это изменить?


person yennefer    schedule 16.02.2016    source источник
comment
Мини-тележка основана на Ajax JQuery JS, начните поиск в файлах темы или Woocommerce JS. Вам необходимо включить режим отладки, чтобы загружать неминифицированные версии файлов JS.   -  person Scriptonomy    schedule 17.02.2016
comment
Мини-тележка - это ajax, но в конечном итоге она по-прежнему загружает обычный шаблон.   -  person helgatheviking    schedule 17.02.2016


Ответы (1)


эта функция обрабатывается storefront_cart_link функцией ...

вы можете переопределить функцию ... открыть functions.php ... найти require get_template_directory() . '/inc/init.php';

прямо над ним вставьте этот код ...

if ( ! function_exists( 'storefront_cart_link' ) ) {
    function storefront_cart_link() {
        ?>
            <a class="cart-contents" href="<?php echo esc_url( WC()->cart->get_cart_url() ); ?>" title="<?php _e( 'View your shopping cart', 'storefront' ); ?>">
                <?php echo wp_kses_data( WC()->cart->get_cart_subtotal() ); ?> <span class="count"><?php echo wp_kses_data( sprintf( '%d', WC()->cart->get_cart_contents_count() ) );?></span>
            </a>
        <?php
    }
}

storefront_cart_link загружается этим вызовом require get_template_directory() . '/inc/init.php';. Таким образом, приведенное выше будет загружено первым, поэтому эта функция больше не будет создаваться с вызовом require get_template_directory() . '/inc/init.php';.

Это поможет ... но лучше использовать дочернюю тему ... вы можете просто вставить функцию, указанную выше, в файл functions.php дочерней темы. functions.php в дочерней теме загрузится раньше, чем у родительской, поэтому ваша функция будет существовать первой.

person Reigel    schedule 17.02.2016
comment
Спасибо за развернутый ответ. Я добавил эту функцию в свою дочернюю тему functions.php, но она не имеет никакого эффекта. Я добавил тестовый класс к элементу span, и он также не отображается во внешнем интерфейсе. Имеет ли значение, где размещена функция? Я также пробовал без условия if, безрезультатно (было интересно, почему есть if, не существует?) - person yennefer; 18.02.2016
comment
@yennefer, вы пробовали это на родительской теме? просто для проверки ... В идеале нам нужна эта функция до require get_template_directory() . '/inc/init.php'; - person Reigel; 18.02.2016
comment
Спасибо, по какой-то причине изменения, которые я внес в дочернюю тему и мой тест, появились через пару дней ... Некоторые проблемы с кешированием, я думаю, ваш первый ответ был правильным. - person yennefer; 23.02.2016
comment
На сегодняшний день текущая версия витрины даже не имеет этого вызова init.php в functions.php, я все равно вставил в него ваш код, и ничего не произошло. Какие-нибудь подсказки? - person Capagris; 16.10.2016