Изменение текста кнопки «Добавить в корзину» в WooCommerce для элементов с вариациями

Я запускаю 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 } 

Вы также можете иметь собственный текст кнопки по типу продукта: см. Здесь .


Ссылка: изменить текст кнопки в корзину