根据 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 ) {