Я запускаю WooCommerce версии 2.5.5. Следующие строки кода, похоже, не меняют текст кнопки «Добавить в корзину» на моей странице продукта для элемента с вариантами:
add_filter('variable_add_to_cart_text', 'my_custom_cart_button_text'); function my_custom_cart_button_text() { return __('Buy Now', 'woocommerce'); }
Не могли бы вы узнать, чего мне не хватает?
Правильный фильтр для отдельной страницы продукта – woocommerce_product_single_add_to_cart_text
.
function my_custom_cart_button_text( $text, $product ) { if( $product->is_type( 'variable' ) ){ $text = __('Buy Now', 'woocommerce'); } return $text; } add_filter( 'woocommerce_product_single_add_to_cart_text', 'my_custom_cart_button_text', 10, 2 );
Обновление: для WooCommerce 3+
Вы используете устаревший крючок для предыдущих версий 2.1 WooCommerce (см. Внизу ссылку ) .
Сначала вы можете настроить целевой тип в тех (новых) крючках с условиями:
global $product; if ( $product->is_type( 'simple' ) ) // for simple product // Your text for simple product if ($product->is_type( 'variable' ) ) // for variable product // Your text for variable product if ($product->is_type( 'grouped' ) ) // for grouped product // Your text for grouped product if ($product->is_type( 'external' ) ) // for external product // Your text for external product
Теперь у вас есть 2 доступных крючка для Woocommerce :
add_filter( 'woocommerce_product_single_add_to_cart_text', 'my_custom_cart_button_text', 10, 2 );
add_filter( 'woocommerce_product_add_to_cart_text', 'my_custom_cart_button_text', 10, 2 );
И вы будете использовать один или оба из них с помощью настраиваемого таргетинга функции через условие типа переменных переменных , таким образом:
function my_custom_cart_button_text( $button_text, $product ) { if ( $product->is_type( 'variable' ) ) $button_text = __('Buy Now', 'woocommerce'); return $button_text }
Вы также можете иметь собственный текст кнопки по типу продукта: см. Здесь .
Ссылка: изменить текст кнопки в корзину