更改 Woocommerce 3 中特定产品类别的添加到购物车文本
Change the add to cart text for a specific product category in Woocommerce 3
我只想更改 特定类别 产品档案中的添加到购物车文本。例如,在 预购类别 上,我想要 add to cart
文本而不是 Preorder
。我不知道如何在下面的函数中识别预购类别。
add_filter( 'add_to_cart_text', 'woo_archive_custom_cart_button_text' ); // < 2.1
function woo_archive_custom_cart_button_text() {
return __( 'Preorder', 'woocommerce' );
}
您可以使用 has_term() 条件。更新后的代码如下。
解决方法- 1.使用过滤器add_to_cart_text
add_filter( 'add_to_cart_text', 'woo_archive_custom_cart_button_text' );
function woo_archive_custom_cart_button_text() {
global $product;
if(has_term('your-special-category', 'product_cat', $product->get_id())){
$text = __( 'Preorder', 'woocommerce' );
}
return $text;
}
解决方法- 2.使用过滤器woocommerce_product_add_to_cart_text
add_filter( 'woocommerce_product_add_to_cart_text', 'woo_archive_custom_cart_button_text' );
function woo_archive_custom_cart_button_text() {
global $product;
if(has_term('your-special-category', 'product_cat', $product->get_id())){
$text = __( 'Preorder', 'woocommerce' );
}
return $text;
}
其中 your-special-category
是您要为其替换 add to cart
文本的类别。
Update: add_to_cart_text
hook is obsolete & deprecated. It is replaced in Woocommerce 3+ by woocommerce_product_add_to_cart_text
filter hook.
可以是两种不同的东西(因为你的问题不是很清楚)…
1) 要在特定产品类别存档页面上定位产品,您应该以这种方式使用条件函数is_product_category()
:
add_filter( 'woocommerce_product_add_to_cart_text', 'product_cat_add_to_cart_button_text', 20, 1 );
function product_cat_add_to_cart_button_text( $text ) {
// Only for a specific product category archive pages
if( is_product_category( array('preorder') ) )
$text = __( 'Preorder', 'woocommerce' );
return $text;
}
代码进入活动子主题(或活动主题)的 function.php 文件。
2) 要在 Woocommerce 存档页面上定位特定产品类别,您将使用 has term()
这种方式:
add_filter( 'woocommerce_product_add_to_cart_text', 'product_cat_add_to_cart_button_text', 20, 1 );
function product_cat_add_to_cart_button_text( $text ) {
// Only for a specific product category
if( has_term( array('preorder'), 'product_cat' ) )
$text = __( 'Preorder', 'woocommerce' );
return $text;
}
对于单个产品页面,您将另外使用:
add_filter( 'woocommerce_product_single_add_to_cart_text', 'product_cat_single_add_to_cart_button_text', 20, 1 );
function product_cat_single_add_to_cart_button_text( $text ) {
// Only for a specific product category
if( has_term( array('preorder'), 'product_cat' ) )
$text = __( 'Preorder', 'woocommerce' );
return $text;
}
代码进入活动子主题(或活动主题)的 function.php 文件。
已测试并有效。
Note: All filter hooked functions needs to return the main argument if you set some conditions, so in this case the argument $text
…
相关回答:
我只想更改 特定类别 产品档案中的添加到购物车文本。例如,在 预购类别 上,我想要 add to cart
文本而不是 Preorder
。我不知道如何在下面的函数中识别预购类别。
add_filter( 'add_to_cart_text', 'woo_archive_custom_cart_button_text' ); // < 2.1
function woo_archive_custom_cart_button_text() {
return __( 'Preorder', 'woocommerce' );
}
您可以使用 has_term() 条件。更新后的代码如下。
解决方法- 1.使用过滤器add_to_cart_text
add_filter( 'add_to_cart_text', 'woo_archive_custom_cart_button_text' );
function woo_archive_custom_cart_button_text() {
global $product;
if(has_term('your-special-category', 'product_cat', $product->get_id())){
$text = __( 'Preorder', 'woocommerce' );
}
return $text;
}
解决方法- 2.使用过滤器woocommerce_product_add_to_cart_text
add_filter( 'woocommerce_product_add_to_cart_text', 'woo_archive_custom_cart_button_text' );
function woo_archive_custom_cart_button_text() {
global $product;
if(has_term('your-special-category', 'product_cat', $product->get_id())){
$text = __( 'Preorder', 'woocommerce' );
}
return $text;
}
其中 your-special-category
是您要为其替换 add to cart
文本的类别。
Update:
add_to_cart_text
hook is obsolete & deprecated. It is replaced in Woocommerce 3+ bywoocommerce_product_add_to_cart_text
filter hook.
可以是两种不同的东西(因为你的问题不是很清楚)…
1) 要在特定产品类别存档页面上定位产品,您应该以这种方式使用条件函数is_product_category()
:
add_filter( 'woocommerce_product_add_to_cart_text', 'product_cat_add_to_cart_button_text', 20, 1 );
function product_cat_add_to_cart_button_text( $text ) {
// Only for a specific product category archive pages
if( is_product_category( array('preorder') ) )
$text = __( 'Preorder', 'woocommerce' );
return $text;
}
代码进入活动子主题(或活动主题)的 function.php 文件。
2) 要在 Woocommerce 存档页面上定位特定产品类别,您将使用 has term()
这种方式:
add_filter( 'woocommerce_product_add_to_cart_text', 'product_cat_add_to_cart_button_text', 20, 1 );
function product_cat_add_to_cart_button_text( $text ) {
// Only for a specific product category
if( has_term( array('preorder'), 'product_cat' ) )
$text = __( 'Preorder', 'woocommerce' );
return $text;
}
对于单个产品页面,您将另外使用:
add_filter( 'woocommerce_product_single_add_to_cart_text', 'product_cat_single_add_to_cart_button_text', 20, 1 );
function product_cat_single_add_to_cart_button_text( $text ) {
// Only for a specific product category
if( has_term( array('preorder'), 'product_cat' ) )
$text = __( 'Preorder', 'woocommerce' );
return $text;
}
代码进入活动子主题(或活动主题)的 function.php 文件。
已测试并有效。
Note: All filter hooked functions needs to return the main argument if you set some conditions, so in this case the argument
$text
…
相关回答: