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


Changing the Add To Cart button text in WooCommerce for items with variations

我正在运行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+

您正在使用过时的钩子用于WooCommerce的先前版本2.1(请参阅参考底部)。

首先,您可以在这些(新)挂钩中定位所需的产品类型,并附有条件:

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
}

您还可以按产品类型自定义按钮文本:请参阅此处


参考:更改添加到购物车按钮文本