在WooCommerce中更改具有变体的项目的“添加到购物车”按钮文本

时间:2016-04-21 20:38:23

标签: php wordpress woocommerce cart product

我正在运行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');

}

你碰巧知道我错过了什么吗?

2 个答案:

答案 0 :(得分:4)

  WooCommerce 3+的

更新

您正在使用WooCommerce 之前版本2.1的过时钩子(请参见reference的底部。

首先,您可以在具有以下条件的(新)挂钩中定位所需的产品类型

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
}

您还可以按产品类型设置自定义按钮文字:See here

参考:Change add to cart button text

答案 1 :(得分:4)

单个商品页面的正确过滤条件为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 );