Содержание
Задача. Необходимо в на сайте с Woocommerce заменить текст кнопки «В корзину» (Добавить в корзину, Просмотр корзины, Оформить заказ, Add to cart).
Решение. Для изменения текста или замены на иконку в кнопке заказа товара вставляем в functions.php
Код №1 или Код №2, если необходимо изменить кнопки только в некоторых товарах.
Изменение текста кнопки заказа
1 2 3 4 5 6 7 8 9 10 |
// 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 16 17 |
// Текст кнопки заказа товара по 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.
Замена текста кнопки заказа на иконку
Когда нужно было заменить текст кнопки заказа на иконку, то способы выше не подошли, т.к. они выводят иконку вида <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>')
.