วิธีเพิ่มหน้าชำระเงินหมายเลข VAT ของ WooCommerce
เผยแพร่แล้ว: 2020-12-17คุณต้องการเพิ่มฟิลด์หมายเลข VAT ในหน้าชำระเงิน WooCommerce หรือไม่? WooCommerce ไม่มีฟังก์ชันในตัวเพื่อเพิ่มฟิลด์หมายเลข VAT อย่างไรก็ตาม ฉันได้สร้างสคริปต์ PHP แบบกำหนดเองซึ่งจะเพิ่มฟิลด์ภาษีมูลค่าเพิ่มในหน้าชำระเงินและหน้าบัญชีของฉัน
WooCommerce หมายเลข VAT ชำระเงิน
การขายสินค้าในสหภาพยุโรปมีความเฉพาะเจาะจงมาก ส่วนใหญ่เป็นเพราะแง่มุมทางกฎหมาย อย่างไรก็ตาม บางครั้ง WooCommerce ไม่ได้คำนึงถึงเรื่องนี้ ดังนั้นจึงจำเป็นต้องปรับร้านค้าให้เข้ากับเงื่อนไขของยุโรป
ร้านค้าของคุณควรสนับสนุนหมายเลขประจำตัวผู้เสียภาษีมูลค่าเพิ่มสำหรับการออกใบแจ้งหนี้ ในบทช่วยสอนนี้ คุณจะได้เรียนรู้วิธีเพิ่มฟิลด์ภาษีมูลค่าเพิ่มในหน้าชำระเงิน
ขั้นตอนในการเพิ่มฟิลด์ภาษีมูลค่าเพิ่มในหน้าชำระเงิน
นี่คือขั้นตอนที่คุณต้องปฏิบัติตาม:
- ลงชื่อเข้าใช้ไซต์ WordPress ของคุณและเข้าถึงแดชบอร์ดในฐานะผู้ดูแลระบบ
- จากเมนูแดชบอร์ด ให้คลิกที่ เมนูลักษณะที่ปรากฏ > เมนูตัวแก้ไขธีม เมื่อหน้าแก้ไขธีมเปิดขึ้น ให้มองหาไฟล์ฟังก์ชันของธีมที่มีนามสกุล functions.php เปิดไฟล์ฟังก์ชันนี้เพื่อเพิ่มฟังก์ชันเพื่อเพิ่มฟิลด์ VAT ในหน้าการชำระเงิน
- เพิ่มรหัสต่อไปนี้ในไฟล์ functions.php:
/************************************ ด้านหน้า ******************* *********************/ /********************************** กรองเพื่อเพิ่มฟิลด์ VAT ไปที่: - บัญชีของฉัน - แก้ไขแบบฟอร์ม - ฟิลด์การเรียกเก็บเงิน - ชำระเงิน - แก้ไขแบบฟอร์ม - ฟิลด์การเรียกเก็บเงิน ฟังก์ชันนี้ยังจัดลำดับฟิลด์แบบฟอร์มใหม่อีกด้วย *********************************/ ฟังก์ชัน 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'] = อาร์เรย์ ( 'type' => 'ข้อความ', '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 (ฟิลด์ $, $customer_id, $type) { if ( $type == 'การเรียกเก็บเงิน') { $fields['vat'] = get_user_meta( $customer_id, 'billing_vat', จริง); } ส่งคืนฟิลด์ $; } // (2) ชำระเงิน - ได้รับคำสั่งซื้อแล้ว (พิมพ์หลังจากชำระเงินเรียบร้อยแล้ว) add_filter( 'woocommerce_order_formatted_billing_address', 'njengah_add_vat_formatted_billing_address', 10, 2 ); ฟังก์ชั่น njengah_add_vat_formatted_billing_address (ฟิลด์ $, $order) { $fields['vat'] = $order->billing_vat; $fields['vat'] = $order->billing_vat; ส่งคืนฟิลด์ $; } // การสร้างตัวแปร VAT การควบรวมกิจการสำหรับการจัดรูปแบบการพิมพ์ add_filter( 'woocommerce_formatted_address_replacements', 'njengah_formatted_address_replacements', 10, 2 ); ฟังก์ชั่น njengah_formatted_address_replacements ( ที่อยู่ $, $args ) { $address['{vat}'] = ''; $address['{vat_upper}']= ''; if ( ! empty( $args['vat'] ) ) ) { $address['{vat}'] = $args['vat']; $address['{vat}'] = $args['vat']; $address['{vat_upper}'] = strtoupper($args['vat']); $ที่อยู่['{vat_upper}'] = strtoupper($args['vat']); } ส่งคืนที่อยู่ $; } //กำหนดรูปแบบภาษาสเปนเพื่อพิมพ์ที่อยู่ รวมภาษีมูลค่าเพิ่ม add_filter( 'woocommerce_localisation_address_formats', 'njengah_localisation_address_format' ); ฟังก์ชั่น njengah_localisation_address_format ( รูปแบบ $ ) { $formats['ES'] = "{name}\n{company}\n{vat_upper}\n{address_1}\n{address_2}\n{รหัสไปรษณีย์} {city}\n{state}\n{ประเทศ} "; ส่งคืนรูปแบบ $; } /************************************ หน้าโปรไฟล์ผู้ใช้ของผู้ดูแลระบบ **************** ******************************/ /****************** กรองเพื่อเพิ่มฟิลด์ meta ของลูกค้า VAT (ฟิลด์โปรไฟล์ผู้ใช้ในการจัดกลุ่มที่อยู่สำหรับการเรียกเก็บเงิน) *****************/ add_filter( 'woocommerce_customer_meta_fields', 'njengah_customer_meta_fields' ); ฟังก์ชัน njengah_customer_meta_fields ($fields) { $fields['billing']['fields']['billing_vat'] = อาร์เรย์ ( 'label' => __( 'หมายเลขภาษีมูลค่าเพิ่ม', 'njengah' ) ); ส่งคืนฟิลด์ $; } /****************************** หน้าสั่งซื้อของแอดมิน ******************* *********************/ /************ กรองเพื่อเพิ่มภาษีมูลค่าเพิ่มในแบบฟอร์มแก้ไขคำสั่งซื้อ -- หน้าผู้ดูแลระบบ *********/ add_filter( 'woocommerce_admin_billing_fields', 'njengah_admin_billing_fields' ); ฟังก์ชัน njengah_admin_billing_fields ($fields) { $fields['vat'] = อาร์เรย์ ( 'label' => __( 'หมายเลขภาษีมูลค่าเพิ่ม', 'njengah' ), 'show' => จริง ); ส่งคืนฟิลด์ $; } /**************** กรองเพื่อคัดลอกฟิลด์ภาษีมูลค่าเพิ่มจากฟิลด์เมตาผู้ใช้ไปยังแบบฟอร์มการจัดการคำสั่งซื้อ (หลังจากคลิกปุ่มเฉพาะบนหน้าผู้ดูแลระบบ) ******************/ 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', จริง); ส่งคืน $customer_data; }
- นี่คือผลลัพธ์ในส่วนหน้า:
- นี่คือผลลัพธ์ในด้านผู้ดูแลระบบ:
บทสรุป
โดยสรุป คุณได้เรียนรู้วิธีเพิ่มช่องการชำระเงินหมายเลข VAT ในหน้าชำระเงินของ WooCommerce ฉันแนะนำให้เพิ่มข้อมูลโค้ดในไฟล์ functions.php ของธีมลูกของคุณ เพื่อไม่ให้การเปลี่ยนแปลงที่คุณทำหายไประหว่างการอัปเดต ข้อมูลโค้ดแสดงหมายเลข VAT ในใบแจ้งหนี้ที่ออกโดยอัตโนมัติ
บทความที่คล้ายกัน
- วิธีซ่อนปุ่มอัปเดตหน้ารถเข็น WooCommerce
- วิธีซ่อนปริมาณในสต็อกใน WooCommerce
- วิธีการย้ายหน้าร้านเมนูหลัก WooCommerce
- วิธีซ่อนคำอธิบายผลิตภัณฑ์ หัวเรื่อง WooCommerce
- วิธีทำให้การชำระเงินธีมหน้าร้านฟรีเป็นเรื่องง่าย
- วิธีการเปลี่ยน WooCommerce Checkout Labels
- วิธีสร้างช่องทำเครื่องหมายในหน้าชำระเงินของ WooCommerce
- วิธีสร้างฟิลด์การชำระเงินตามเงื่อนไขของ WooCommerce
- วิธีเพิ่ม Select Field เพื่อชำระเงิน WooCommerce
- วิธีเปลี่ยนข้อความแสดงข้อผิดพลาดของ WooCommerce Checkout
- วิธีเพิ่ม WooCommerce Checkout Default Country
- วิธีรีเฟรชหน้าชำระเงิน WooCommerce
- วิธีแก้ไขช่องชำระเงิน WooCommerce ที่จำเป็น
- วิธีเพิ่มฟิลด์ที่ซ่อนอยู่ในหน้าชำระเงินของ WooCommerce
- วิธีเพิ่มหน้าชำระเงินใบแจ้งหนี้ WooCommerce
- วิธีตั้งค่า WooCommerce คุณต้องลงชื่อเข้าใช้ Checkout
- วิธีสร้างบัญชีที่ชำระเงิน WooCommerce
- วิธีส่งไปยัง Mpesa WooCommerce การชำระเงินฟรี
- วิธีบังคับให้ชำระเงินที่ปลอดภัยใน WooCommerce