Содержание
Задача. Необходимо в на сайте с Woocommerce заменить текст кнопки «В корзину» (Добавить в корзину, Просмотр корзины, Оформить заказ, Add to cart).
Решение. Для изменения текста или замены на иконку в кнопке заказа товара вставляем в functions.php
Код №1.1 или Код №1.2, если необходимо изменить кнопки только в некоторых товарах.
Изменение текста кнопки заказа
1 2 3 4 5 6 7 8 |
// Custom text Add to cart add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_custom_cart_button_txt' ); // add_filter( 'woocommerce_product_add_to_cart_text', 'woo_custom_cart_button_txt' ); function woo_custom_cart_button_txt() { return __( 'Новая подпись кнопки В корзину', 'woocommerce' ); } |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// Текст кнопки заказа товара по id товара function woo_unique_add_to_cart_text() { global $product; if( $product->id == 11 ){ return __( 'Купить сейчас', 'woocommerce' ); // Для товара с id=11 } elseif($product->id == 12){ return __( 'Купить по лучшей цене', 'woocommerce' ); // Для товара с id=12 } else{ return __( 'В корзину', 'woocommerce' ); // Для остальных } } add_filter( 'woocommerce_product_single_add_to_cart_text', 'woo_unique_add_to_cart_text', 10, 3 ); |
Также можно использовать плагин Customizer for WooCommerce — позволяет настраивать различные названия кнопок, вкладок и пр. в WC.
Изменение текста кнопки «В корзину» в зависимости от категории
Код №1.3 Заменит текст кнопки «В корзину» на «Скачать» для категории с id=58 и «Купить» для всех остальных.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
## ЗАМЕНИТЬ ТЕКСТ КНОПОК В КОРЗИНУ ДЛЯ КАТЕГОРИИ с id=58 add_filter('woocommerce_product_add_to_cart_text', 'qfurs_add_to_cart_text', 50, 2); // стр категории add_filter('woocommerce_product_single_add_to_cart_text', 'qfurs_add_to_cart_text', 50, 2); // стр товара function qfurs_add_to_cart_text($text) { // Получаем ID текущего товара $product_id = get_the_ID(); // Проверяем, принадлежит ли товар к определенной категории if (has_term(58, 'product_cat', $product_id)) { $text = __('Скачать', 'woocommerce'); } else { $text = __( 'Купить', 'woocommerce' ); } return $text; } |
Замена текста кнопки заказа на иконку
Когда нужно было заменить текст кнопки заказа на иконку, то способы выше не подошли, т.к. они выводят иконку вида <i class="fa fa-shopping-cart"></i>
как текст, а не как html-код.
Решение 1. Для замены текста кнопки добавления в корзину на иконку:
- В файле плагина
woocommerce/templates/loop/add-to-cart.php
(этот файл нужно скопировать в папку с темой в такойже иерархии папок и потом его редактируем) - Заменить
esc_html( $product->add_to_cart_text() )
наsprintf('<i class="fa fa-shopping-cart"></i>')
.