วิธีอนุมัติคำสั่งซื้ออัตโนมัติใน WooCommerce
เผยแพร่แล้ว: 2020-09-25หากคุณกำลังเปิดร้านอีคอมเมิร์ซ คุณทราบดีว่าไซต์นั้นต้องการการติดตามและจัดการคำสั่งซื้อ อย่างไรก็ตาม นี่อาจเป็นงานที่ต้องใช้กำลังมากสำหรับผู้ดูแลระบบ โดยเฉพาะอย่างยิ่งหากร้านค้าออนไลน์ของคุณมีการเข้าชมสูง ซึ่งส่งผลให้มีคำสั่งซื้อจำนวนมากในหนึ่งวัน
นอกจากนี้ คุณทราบดีว่ามีการสร้างคำสั่งซื้อทันทีที่กระบวนการชำระเงินเสร็จสิ้น ใบสั่งถูกกำหนดสถานะตามตำแหน่งที่ใบสั่งอยู่ในห่วงโซ่การชำระเงินเพื่อจัดส่ง
นอกจากนี้ สถานะจะถูกตั้งค่าหรือเปลี่ยนแปลงโดย WooCommerce, Payment Gateway และผู้ดูแลระบบร้านค้า ขึ้นอยู่กับว่าคำสั่งซื้อเริ่มต้นจากที่ใด
หลังจากการชำระเงินสำหรับการสั่งซื้อเสร็จสมบูรณ์แล้ว หากผู้ใช้ไม่ได้เลือกตัวเลือกเงินสดเมื่อส่งมอบ เมื่อคำสั่งซื้อเสร็จสมบูรณ์ สถานะจะถูกตั้งค่าเป็น "กำลังดำเนินการ" จนกว่าเจ้าของร้านค้าจะเปลี่ยนเป็น "เสร็จสิ้น" ด้วยตนเอง นี่จะเป็นงานที่น่ากลัวสำหรับเจ้าของร้านหรือผู้ดูแลระบบ
อนุมัติคำสั่งซื้ออัตโนมัติ WooCommerce
ในบทช่วยสอนสั้น ๆ นี้ ฉันจะแบ่งปันรหัส PHP แบบกำหนดเองกับคุณ ซึ่งจะช่วยให้คุณตั้งค่าสถานะของคำสั่งซื้อเป็นเสร็จสิ้นโดยอัตโนมัติทุกครั้งที่ชำระเงินสำเร็จ ซึ่งหมายความว่าแม้ว่าผู้ใช้จะเลือกตัวเลือกเงินสดเมื่อส่งมอบ สถานะคำสั่งซื้อจะเปลี่ยนเป็นเสร็จสมบูรณ์โดยอัตโนมัติ
นอกจากนี้ ฉันจะแบ่งปันโซลูชันที่จะตั้งค่าสถานะคำสั่งซื้อของ WooCommerce โดยอัตโนมัติว่าเสร็จสิ้นแล้วสำหรับผลิตภัณฑ์เสมือน ผลิตภัณฑ์เหล่านี้ไม่สามารถจับต้องได้หรือดาวน์โหลดได้
เนื่องจากการสมัครเป็นสมาชิกอาจไม่มีรูปแบบที่จับต้องได้ แต่มีวันหมดอายุแทน หากคุณจัดการกับผลิตภัณฑ์ที่ดาวน์โหลดได้ ไม่ควรรวมตัวเลือกเงินสดเมื่อจัดส่ง แต่ควรเพิ่มเฉพาะเงื่อนไขเพื่อตรวจสอบว่าผลิตภัณฑ์ทั้งหมดในคำสั่งซื้อเป็นเสมือนหรือไม่
เมื่อคุณทราบวิธีตั้งค่าสถานะคำสั่งซื้อแล้ว ต่อไปนี้คือคำแนะนำโดยละเอียดเกี่ยวกับวิธีการ:
- ตั้งค่าสถานะคำสั่งซื้อของ WooCommerce เป็นเสร็จสมบูรณ์โดยอัตโนมัติตามวิธีการชำระเงิน
- ตั้งค่าสถานะคำสั่งซื้อของ WooCommerce โดยอัตโนมัติว่าเสร็จสิ้นแล้วสำหรับผลิตภัณฑ์เสมือน
a) ขั้นตอนในการตั้งค่าสถานะคำสั่งซื้อของ WooCommerce โดยอัตโนมัติว่าเสร็จสมบูรณ์ตามวิธีการชำระเงิน
นี่คือขั้นตอนง่าย ๆ ที่คุณต้องปฏิบัติตาม:
- ลงชื่อเข้าใช้ไซต์ WordPress และเข้าถึง แดชบอร์ด ในฐานะผู้ดูแลระบบ
- จากเมนูแดชบอร์ด ให้คลิกที่ เมนูลักษณะที่ปรากฏ > เมนูตัวแก้ไขธีม เมื่อเปิดหน้า Theme Editor ให้มองหาไฟล์ฟังก์ชันของธีมที่เราจะเพิ่มฟังก์ชันที่จะ ตั้งค่าสถานะคำสั่งซื้อ woocommerce ให้เสร็จสมบูรณ์โดยอัตโนมัติตามวิธีการชำระเงิน
- เพิ่มรหัสต่อไปนี้ ในไฟล์ php :
/** Snippet เพื่อตั้งค่าสถานะคำสั่งซื้อ woocommerce โดยอัตโนมัติว่าเสร็จสิ้นตามวิธีการชำระเงิน */ add_action('woocommerce_order_status_changed', 'njengah_auto_complete_by_payment_method'); ฟังก์ชัน njengah_auto_complete_by_payment_method($order_id) { ถ้า ( ! $order_id ) { กลับ; } ผลิตภัณฑ์ $ ทั่วโลก; $order = wc_get_order( $order_id ); if ($order->data['status'] == 'กำลังดำเนินการ') { $payment_method=$order->get_payment_method(); $payment_method=$order->get_payment_method(); ถ้า ($payment_method!="bacs") { $order->update_status( 'เสร็จสิ้น' ); } } }
- หากต้องการดูผลลัพธ์ ตรงไปที่ WordPress Dashboard และคลิกที่ WooCommerce > Orders คุณจะเห็นว่าคำสั่งถูกตั้งค่าเป็น Completed ตามที่แสดงด้านล่าง:
รหัสทำงานอย่างไร
ในโค้ดด้านบนนี้ ฉันได้ใช้ hook ของ woocommerce_order_status_changed เพื่อเรียกใช้ฟังก์ชันเมื่อสถานะของคำสั่งซื้อเปลี่ยนไป จะตรวจสอบว่าคำสั่งซื้อมีสถานะการประมวลผลและเปลี่ยนเป็นเสร็จสมบูรณ์หรือไม่
ตามค่าเริ่มต้น WooCommerce มีวิธีการชำระเงินเริ่มต้นสี่วิธี ได้แก่ การโอนเงินผ่านธนาคารโดยตรง (bacs) การชำระเงินด้วยเช็ค (เช็ค) เงินสดในการจัดส่ง (cod) และ PayPal (PayPal) อย่างไรก็ตาม คุณต้องระบุวิธีการชำระเงินที่คุณต้องการกำหนดเงื่อนไข
b) ขั้นตอนในการตั้งค่าสถานะการสั่งซื้อ WooCommerce โดยอัตโนมัติว่าเสร็จสมบูรณ์สำหรับผลิตภัณฑ์เสมือน
นี่คือขั้นตอนที่คุณต้องปฏิบัติตาม:
- ลงชื่อเข้าใช้ไซต์ WordPress และเข้าถึง แดชบอร์ด ในฐานะผู้ดูแลระบบ
- จากเมนูแดชบอร์ด ให้คลิกที่ เมนูลักษณะที่ปรากฏ > เมนูตัวแก้ไขธีม เมื่อเปิดหน้า Theme Editor ให้มองหาไฟล์ฟังก์ชันของธีมที่เราจะเพิ่มฟังก์ชันที่จะ ตั้งค่าสถานะคำสั่งซื้อ woocommerce ให้เสร็จสมบูรณ์โดยอัตโนมัติสำหรับผลิตภัณฑ์เสมือน
- เพิ่มรหัสต่อไปนี้ ในไฟล์ php :
/** Snippet เพื่อตั้งค่าสถานะคำสั่งซื้อ woocommerce โดยอัตโนมัติว่าเสร็จสิ้นแล้วสำหรับผลิตภัณฑ์เสมือน */ add_action('woocommerce_order_status_changed', 'njengah_auto_complete_virtual'); ฟังก์ชัน njengah_auto_complete_virtual($order_id) { ถ้า ( ! $order_id ) { กลับ; } ผลิตภัณฑ์ $ ทั่วโลก; $order = wc_get_order( $order_id ); if ($order->data['status'] == 'กำลังดำเนินการ') { $virtual_order = null; if ( count( $order->get_items() ) > 0 ) { foreach( $order->get_items() เป็น $item ) { if ( 'line_item' == $item['type'] ) { $_product = $order->get_product_from_item( $item ); ถ้า ( ! $_product->is_virtual() ) { // เมื่อเราพบผลิตภัณฑ์ที่ไม่ใช่เสมือนหนึ่งผลิตภัณฑ์ ให้แยกออกจากลูป $virtual_order = เท็จ; หยุดพัก; } อื่น { $virtual_order = จริง; } } } } // หากทั้งหมดเป็นผลิตภัณฑ์เสมือน ให้ทำเครื่องหมายว่าเสร็จสิ้น ถ้า ( $virtual_order ) { $order->update_status( 'เสร็จสิ้น' ); } } }
- ผลลัพธ์จะเหมือนกับตัวอย่างแรก เนื่องจากคำสั่งจะถูกตั้งค่าเป็น Completed โดยอัตโนมัติ
รหัสทำงานอย่างไร
ในโค้ดด้านบน ฉันได้ใช้ hook เดียวกันเพื่อเรียกใช้ฟังก์ชัน njengah_auto_complete_virtual หลังจากที่ตรวจสอบแล้วว่าอยู่ในสถานะกำลังดำเนินการหรือไม่ จากนั้นรหัสจะตรวจสอบแต่ละรายการตามลำดับเพื่อดูว่ามีผลิตภัณฑ์เสมือนจริงหรือไม่
line_item หมายถึงผลิตภัณฑ์ และต้องดึงข้อมูลผลิตภัณฑ์ทีละรายการเท่านั้นเพื่อตรวจสอบว่าเป็นผลิตภัณฑ์เสมือนหรือไม่ หากไม่มีผลิตภัณฑ์เสมือน สถานะของคำสั่งซื้อจะไม่ถูกทำเครื่องหมายว่าเสร็จสมบูรณ์
บทสรุป
ในบทช่วยสอนสั้นๆ นี้ ฉันได้แชร์วิธีที่คุณสามารถตั้งค่าสถานะคำสั่งซื้อของ WooCommerce เป็นเสร็จสมบูรณ์โดยอัตโนมัติ ฉันทำตามวิธีการชำระเงินและสำหรับผลิตภัณฑ์เสมือนจริง
อย่างไรก็ตาม ขึ้นอยู่กับข้อกำหนดที่คุณต้องการสำหรับร้านค้าของคุณ โดยใช้ข้อมูลโค้ดแรก คุณสามารถเพิ่มเงื่อนไขเพิ่มเติมเพื่อทำเครื่องหมายสถานะการสั่งซื้อเป็นเสร็จสมบูรณ์ ตัวอย่างเช่น หากมีการชำระเงินแล้ว คุณสามารถทำเครื่องหมายสถานะคำสั่งซื้อว่าเสร็จสิ้น แม้กระทั่งสำหรับผลิตภัณฑ์ที่ไม่ใช่เสมือนโดยเพิ่มเช็คในวิธีการชำระเงินหลังจากที่ตรวจสอบว่าเป็นผลิตภัณฑ์เสมือนจริงหรือไม่
อย่างไรก็ตาม ผ่านข้อมูลโค้ดนี้ สถานะของคำสั่งซื้อจะถูกตั้งค่าเป็น เสร็จสิ้น ต่อเมื่อผลิตภัณฑ์ทั้งหมดในคำสั่งซื้อเป็นผลิตภัณฑ์เสมือน ฉันหวังว่าโพสต์นี้จะให้โซลูชันในการอนุมัติคำสั่งซื้อใน WooCommerce โดยอัตโนมัติ
บทความที่คล้ายกัน
- วิธีลบเมนูดาวน์โหลด หน้าบัญชีของฉัน WooCommerce
- วิธีเพิ่มฟิลด์พิเศษในแบบฟอร์มการชำระเงิน WooCommerce
- วิธีปิดการใช้งานตัวเลือกการจัดส่งไปยังที่อยู่อื่น
- วิธีรับวิธีการชำระเงินใน WooCommerce » ตัวอย่างโค้ด
- วิธีซ่อนปุ่ม Add to Cart ใน WooCommerce
- วิธีเพิ่มวิธีการจัดส่งแบบกำหนดเองใน WooCommerce
- ซ่อนหรือลบช่องปริมาณจากหน้าผลิตภัณฑ์ WooCommerce
- วิธีใช้คุณสมบัติของผลิตภัณฑ์ WooCommerce ทีละขั้นตอน [คู่มือฉบับสมบูรณ์]
- วิธีแสดงผลิตภัณฑ์ WooCommerce ตามหมวดหมู่
- วิธีซ่อนฟิลด์รหัสคูปอง WooCommerce
- วิธีใส่ตะกร้าสินค้า WooCommerce และชำระเงินในหนึ่งหน้า
- วิธีเปลี่ยนชื่อข้อความสถานะคำสั่งซื้อใน WooCommerce
- วิธีเพิ่มรูปสินค้าหน้าชำระเงิน WooCommerce
- วิธีสร้างความคิดเห็นเกี่ยวกับคำสั่งซื้อของ WooCommerce
- วิธีเพิ่มหมวดหมู่ให้กับผลิตภัณฑ์ WooCommerce
- วิธีซ่อนสินค้าทั้งหมดจากหน้าร้านค้าใน WooCommerce
- วิธีปิดการใช้งานวิธีการชำระเงินสำหรับหมวดหมู่เฉพาะ