根据 Woocommerce 结账中的产品类别更改 "Email" 标签
Change "Email" label based on product category in Woocommerce checkout
我正在尝试在特定类别的结帐页面上显示不同的 "Email label"。
例如:
我在网站上销售礼品卡,因此我想将 "Email" 字段重命名为 "Recipient Email",但此特定标签应该只对 "Gifts" 产品类别可见。
我找不到适用于此特定解决方案的任何 WooCommerce 功能。任何帮助将不胜感激。
已更新: 如果 "Gift" 产品类别在购物车中,以下内容将更改帐单电子邮件标签:
// Change billing email label if "Gift" product category is in cart
add_filter( 'woocommerce_checkout_fields', 'change_billing_email_label' );
function change_billing_email_label($fields){
foreach(WC()->cart->get_cart() as $cart_item) {
if( has_term( "Gifts", "product_cat", $cart_item["product_id"] ) ){
$fields['billing']['billing_email']['label'] = __("Recipient Email", "woocommerce");
break;
}
}
return $fields;
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。它应该有效。
感谢"LoicTheAztec"。
我只需要从他的代码中更改以下代码行
foreach(WC()->cart->get_cart() => $cart_item) {
这个
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
我正在尝试在特定类别的结帐页面上显示不同的 "Email label"。
例如: 我在网站上销售礼品卡,因此我想将 "Email" 字段重命名为 "Recipient Email",但此特定标签应该只对 "Gifts" 产品类别可见。
我找不到适用于此特定解决方案的任何 WooCommerce 功能。任何帮助将不胜感激。
已更新: 如果 "Gift" 产品类别在购物车中,以下内容将更改帐单电子邮件标签:
// Change billing email label if "Gift" product category is in cart
add_filter( 'woocommerce_checkout_fields', 'change_billing_email_label' );
function change_billing_email_label($fields){
foreach(WC()->cart->get_cart() as $cart_item) {
if( has_term( "Gifts", "product_cat", $cart_item["product_id"] ) ){
$fields['billing']['billing_email']['label'] = __("Recipient Email", "woocommerce");
break;
}
}
return $fields;
}
代码进入您的活动子主题(或活动主题)的 function.php 文件。它应该有效。
感谢"LoicTheAztec"。
我只需要从他的代码中更改以下代码行
foreach(WC()->cart->get_cart() => $cart_item) {
这个
foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {