首页 文章

根据Woocommerce结帐中的产品类别更改“电子邮件”标签

提问于
浏览
1

我正在尝试在特定类别的结帐页面上显示不同的“电子邮件标签” .

例如:我在网站上销售礼品卡,因此我想将“电子邮件”字段重命名为“收件人电子邮件”,但此特定标签应仅对“礼品”产品类别可见 .

我找不到这个特定解决方案的任何WooCommerce功能 . 任何帮助,将不胜感激 .

2 回答

  • 1

    Updated: 如果"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文件中 . 它应该有效 .

  • 0

    感谢“LoicTheAztec” .

    我只需要从他的代码中更改以下代码行

    foreach(WC()->cart->get_cart() => $cart_item) {
    

    用这个

    foreach ( WC()->cart->get_cart() as $cart_item_key => $cart_item ) {
    

相关问题