如何添加 WooCommerce 增值稅號結帳頁面
已發表: 2020-12-17 您想在 WooCommerce 結帳頁面上添加增值稅號字段嗎? WooCommerce 沒有添加增值稅號字段的內置功能。 但是,我創建了一個自定義 PHP 腳本,它將在結帳頁面和我的帳戶頁面上添加一個增值稅字段。
 您想在 WooCommerce 結帳頁面上添加增值稅號字段嗎? WooCommerce 沒有添加增值稅號字段的內置功能。 但是,我創建了一個自定義 PHP 腳本,它將在結帳頁面和我的帳戶頁面上添加一個增值稅字段。 
WooCommerce 增值稅號結帳
在歐盟銷售產品非常具體,主要是因為法律方面的原因。 但是,WooCommerce 有時不會考慮到這一點,因此有必要根據歐洲條件調整商店。
您的商店必須支持開具發票的增值稅識別號。 在本教程中,您將學習如何在結帳頁面上添加增值稅字段。
在結帳頁面上添加增值稅字段的步驟
以下是您需要遵循的步驟:
- 登錄您的 WordPress 網站並以管理員用戶身份訪問儀表板。
- 從儀表板菜單中,單擊外觀菜單 > 主題編輯器菜單。 打開主題編輯器頁面後,查找擴展名為 functions.php 的主題函數文件。 打開此函數文件以添加在結帳頁面上添加增值稅字段的函數。
- 將以下代碼添加到 functions.php 文件中:
 /***************************** 前端 ******************* ************************/
/******************************
過濾以將增值稅字段添加到:
- 我的帳戶 - 編輯表格 - 帳單字段
- 結帳 - 編輯表格 - 帳單字段
此功能還重新排序表單字段。
******************************/
功能 add_woocommerce_billing_fields($billing_fields){
            //重新排序 woo 我的帳單地址表單字段
            $billing_fields2['billing_first_name'] = $billing_fields['billing_first_name'];
            $billing_fields2['billing_last_name'] = $billing_fields['billing_last_name'];
            $billing_fields2['billing_vat'] = 數組(
                        '類型' => '文本',
                        'label' => __('增值稅號', 'keyelp-shop-customization' ),
                        'class' => array('form-row-wide'),
                        '必需' => 假,
                        '清除' => 真
            );
                
            $merged_billing_fields = $billing_fields2 + $billing_fields;
            返回 $merged_billing_fields;
}
add_filter('woocommerce_billing_fields' , 'add_woocommerce_billing_fields');
/*********
打印帳單地址時添加增值稅的過濾器:
- (1) 我的帳戶 
- (2) 結帳 - 收到訂單(結帳完成後),
+++ 用於格式化打印輸出的附加過濾器。
********/
// (1) 在我的賬戶上打印賬單地址
add_filter('woocommerce_my_account_my_address_formatted_address', 'njengah_my_account_my_address_formatted_address', 10, 3);
功能 njengah_my_account_my_address_formatted_address( $fields, $customer_id, $type ) {
            if ( $type == '帳單' ) {
                        $fields['vat'] = get_user_meta($customer_id, 'billing_vat', true );
            }
            返回$字段;
}
// (2) Checkout -- Order Received (完成結賬後打印)
add_filter('woocommerce_order_formatted_billing_address', 'njengah_add_vat_formatted_billing_address', 10, 2);
功能 njengah_add_vat_formatted_billing_address($fields,$order){
            $fields['vat'] = $order->billing_vat;
            返回$字段;
}
// 為打印格式創建合併增值稅變量
add_filter('woocommerce_formatted_address_replacements', 'njengah_formatted_address_replacements', 10, 2);
函數 njengah_formatted_address_replacements($address,$args){
            $address['{vat}'] = '';
            $address['{vat_upper}']= '';
            if ( !empty( $args['vat'] ) ) {
                        $address['{vat}'] = $args['vat'];
                        $address['{vat_upper}'] = strtoupper($args['vat']);
            }
            返回$地址;
}
//定義西班牙格式以打印地址,包括增值稅。
add_filter('woocommerce_localisation_address_formats', 'njengah_localisation_address_format');
功能 njengah_localisation_address_format( $formats ) {
            $formats['ES'] = "{name}\n{company}\n{vat_upper}\n{address_1}\n{address_2}\n{postcode} {city}\n{state}\n{country} ";
            返回$格式;
}
/******************************* 管理員用戶配置文件頁面 **************** ************************/
/******************
過濾以添加增值稅客戶元字段(帳單地址分組上的用戶配置文件字段)
*****************/
add_filter('woocommerce_customer_meta_fields', 'njengah_customer_meta_fields');
功能 njengah_customer_meta_fields( $fields ) {
            $fields['billing']['fields']['billing_vat'] = array(
                        'label' => __( '增值稅號', 'njengah' )
            );
            返回$字段;
}
/****************************** 管理訂單頁面 ******************* ************************/
/********* 
過濾以將增值稅添加到訂單編輯表單 - 管理頁面
*********/
add_filter('woocommerce_admin_billing_fields', 'njengah_admin_billing_fields');
功能 njengah_admin_billing_fields( $fields ) {
            $fields['vat'] = 數組(
                        'label' => __( '增值稅號', 'njengah' ),
                        '顯示' => 真
            );
            返回$字段;
}
/****************
過濾以將增值稅字段從用戶元字段複製到訂單管理表單(單擊管理頁面上的專用按鈕後)
******************/
add_filter('woocommerce_found_customer_details','njengah_found_customer_details');
功能 njengah_found_customer_details( $customer_data ) {
            $customer_data['billing_vat'] = get_user_meta( $_POST['user_id'], 'billing_vat', true );
            返回 $customer_data;
}-  這是前端的結果:  
-  這是管理方面的結果:  
結論
總之,您已經學習瞭如何在 WooCommerce 結帳頁面上添加增值稅號結帳字段。 我建議在您的子主題的 functions.php 文件中添加代碼片段,這樣您所做的更改就不會在更新期間丟失。 代碼段會自動在已開具的發票上顯示增值稅號。

類似文章
- 如何隱藏更新購物車按鈕 WooCommerce 購物車頁面
- 如何在 WooCommerce 中隱藏庫存數量
- 如何移動主菜單店面 WooCommerce
- 如何隱藏產品描述標題 WooCommerce
- 如何簡化結帳免費商品店面主題
- 如何更改 WooCommerce 結帳標籤
- 如何在 WooCommerce 結帳頁面中創建複選框字段
- 如何創建 WooCommerce 條件結帳字段
- 如何將選擇字段添加到結帳 WooCommerce
- 如何更改 WooCommerce 結帳錯誤消息
- 如何添加 WooCommerce Checkout 默認國家
- 如何刷新結帳頁面 WooCommerce
- 如何編輯所需的 WooCommerce 結帳字段
- 如何在 WooCommerce 結帳頁面上添加隱藏字段
- 如何添加 WooCommerce 發票結帳頁面
- 如何設置您必須登錄才能結帳的 WooCommerce
- 如何在結帳 WooCommerce 中創建帳戶
- 如何免費發送到 Mpesa WooCommerce 付款
- 如何在 WooCommerce 中強制安全結帳
