วิธีเพิ่มและแก้ไขสถานะคำสั่งซื้อที่กำหนดเองใน WooCommerce
เผยแพร่แล้ว: 2022-05-14คุณต้องการเพิ่มและแก้ไขสถานะคำสั่งซื้อที่กำหนดเองใน WooCommerce หรือไม่? สิ่งเหล่านี้มีประโยชน์มากในการให้ความกระจ่างเกี่ยวกับสถานะการสั่งซื้อของลูกค้าของคุณ
ตามค่าเริ่มต้น WordPress และ WooCommerce ไม่อนุญาตให้คุณเพิ่มสถานะคำสั่งซื้อที่กำหนดเอง แต่ด้วยความช่วยเหลือของรหัส เราสามารถเพิ่มรหัสเหล่านี้ในร้านค้าออนไลน์ของคุณและแก้ไขได้ในเวลาไม่นาน อย่างไรก็ตาม มาดูเหตุผลที่คุณอาจต้องเพิ่มหรือแก้ไขสถานะคำสั่งซื้อที่กำหนดเองใน WooCommerce ก่อนที่เราจะเริ่มดำเนินการ
เหตุใดจึงต้องเพิ่มและแก้ไขสถานะคำสั่งซื้อที่กำหนดเองใน WooCommerce
การใช้สถานะคำสั่งซื้อที่เหมาะสมเป็นสิ่งสำคัญมากเพื่อให้แน่ใจว่ากระบวนการซื้อในร้านค้าออนไลน์ใดๆ ในเว็บไซต์อีคอมเมิร์ซ อาจมีหลายขั้นตอนที่ลูกค้าต้องดำเนินการเพื่อทำการซื้อให้เสร็จสมบูรณ์ แน่นอนว่าขั้นตอนเพิ่มเติมเหล่านี้จะส่งผลให้ยอดขายลดลง
อีกทางหนึ่ง ยิ่งเราต้องจัดการสถานะคำสั่งซื้อน้อยลง อัตราการขายที่ร้านค้าอีคอมเมิร์ซจะมีมากขึ้นเท่านั้น ยิ่งไปกว่านั้น ยังช่วยให้การจัดการเว็บไซต์โดยรวมง่ายขึ้นและง่ายขึ้นด้วย
อย่างไรก็ตาม เราจำเป็นต้องมีสถานะคำสั่งซื้ออย่างน้อยสองประเภทในทุกกรณี ต้องใช้สถานะคำสั่งซื้อประเภทแรกเมื่อผู้ใช้ทำการสั่งซื้อสำเร็จ สามารถตั้งค่าเป็นรอชำระเงิน ดำเนินการ หรือระงับได้
ในทำนองเดียวกัน เราต้องการสถานะคำสั่งซื้ออื่นที่คล้ายกับคำสั่งซื้อที่เสร็จสมบูรณ์ ที่นี่ลูกค้าอาจชำระเงินและรับสินค้าแล้ว แต่ถ้าการสั่งซื้อไม่เสร็จสมบูรณ์เนื่องจากเหตุการณ์ที่โชคร้าย อาจถูกตั้งเป็นล้มเหลว ยกเลิก หรือขอคืนเงิน
โดยรวมแล้ว เรามีสถานะการสั่งซื้อเริ่มต้นต่อไปนี้ใน WooCommerce ซึ่งเราสามารถใช้ได้อย่างอิสระ:
- ที่รอดำเนินการชำระเงิน
- ล้มเหลว
- กำลังประมวลผล
- สมบูรณ์
- พักไว้
- ยกเลิก
- คืนเงินแล้ว
สถานะการสั่งซื้อเหล่านี้ค่อนข้างเพียงพอสำหรับเว็บไซต์อีคอมเมิร์ซใดๆ สิ่งเหล่านี้มีมากเกินพอสำหรับสิ่งที่เว็บไซต์ทั่วไปสามารถใช้ได้
แต่ถ้าสถานะเริ่มต้นเหล่านี้ยังไม่เพียงพอสำหรับคุณ คุณจะต้องสร้างสถานะที่กำหนดเองบางอย่างสำหรับร้านค้าออนไลน์ของคุณ การเพิ่มลงในเว็บไซต์ของคุณจะช่วยให้ลูกค้าของคุณเข้าใจสถานะคำสั่งซื้อ WooCommerce ได้ชัดเจนยิ่งขึ้น ตัวอย่างเช่น ถ้าคุณต้องการให้สถานะคำสั่งซื้อเพื่อแจ้งลูกค้าโดยเฉพาะว่าคำสั่งซื้อของพวกเขากำลังรอการติดต่อ คุณจะต้องเพิ่มสถานะคำสั่งซื้อ WooCommerce แบบกำหนดเอง
จะสร้างสถานะคำสั่งซื้อที่กำหนดเองของ WooCommerce ได้อย่างไร
คำสั่งซื้อของ WooCommerce จะถือว่าเป็นประเภทโพสต์ที่กำหนดเองแบบพิเศษ ดังนั้นจึงมีค่า post_status แนบมากับตาราง wp_posts ของฐานข้อมูลในลักษณะเดียวกับโพสต์ประเภทอื่น
ดังนั้น เพื่อรวมสถานะคำสั่งซื้อที่กำหนดเองของเราในรายการสถานะที่มี เราจำเป็นต้องใช้ register_post_status()
WP inbuilt ฟังก์ชัน
แต่ก่อนที่เราจะดำเนินการต่อ โปรดตรวจสอบให้แน่ใจว่าคุณได้สร้างธีมย่อยโดยทางโปรแกรม หรือโดยใช้ปลั๊กอินของธีมย่อยตัวใดตัวหนึ่งเพื่อทำการเปลี่ยนแปลงเหล่านี้ เพื่อให้แน่ใจว่าการปรับแต่งที่คุณทำกับไฟล์ธีมจะไม่เปลี่ยนแปลงเมื่อคุณอัปเดตธีม WordPress ของคุณ ในทำนองเดียวกัน เรายังเตือนให้คุณสำรองข้อมูลเว็บไซต์ WordPress เพื่อให้คุณสามารถกู้คืนเว็บไซต์ของคุณได้หากมีการแก้ไขที่ไม่จำเป็นโดยไม่ได้ตั้งใจ
1. เข้าถึงไฟล์ functions.php
ในการสร้างและแก้ไขสถานะคำสั่งซื้อที่กำหนดเองใน WooCommerce คุณจะต้องเข้าถึงไฟล์ฟังก์ชันของธีมก่อน ขั้นแรก ไปที่ ลักษณะที่ ปรากฏ > ตัวแก้ไขไฟล์ธีม จากแดชบอร์ด WordPress ของคุณ จากนั้นเลือกไฟล์ “ funtions.php ” จากไฟล์ธีมที่ด้านขวาของหน้าจอ
2. เพิ่มรหัสลงในไฟล์ functions.php
ตอนนี้ ให้คัดลอกและวางสคริปต์ต่อไปนี้ในไฟล์ functions.php
ของธีมลูกของคุณ การดำเนินการนี้จะสร้างสถานะคำสั่งซื้อที่กำหนดเองใหม่ชื่อว่า "กำลังรอรับสาย"
// ลงทะเบียนสถานะใหม่ ฟังก์ชั่น register_wait_call_order_status () { register_post_status ( 'wc-waiting-call', อาร์เรย์ ( 'label' => 'รอรับสาย', 'สาธารณะ' => จริง 'show_in_admin_status_list' => จริง 'show_in_admin_all_list' => จริง 'exclude_from_search' => เท็จ 'label_count' => _n_noop( 'กำลังรอสาย (%s)', 'กำลังรอสาย (%s)' ) ) ); } // เพิ่มสถานะที่กำหนดเองในรายการสถานะการสั่งซื้อ ฟังก์ชั่น add_wait_call_to_order_statuses ($order_statuses) { $new_order_statuses = อาร์เรย์ (); foreach ( $order_statuses เป็น $key => $status ) { $new_order_statuses[ $key ] = $สถานะ; ถ้า ( 'wc-on-hold' === $key ) { $new_order_statuses['wc-waiting-call'] = 'กำลังรอรับสาย'; } } ส่งคืน $new_order_statuses; } add_action( 'init', 'register_wait_call_order_status' ); add_filter( 'wc_order_statuses', 'add_wait_call_to_order_statuses' );
โปรดทราบว่าเราใช้ตะขอสองสามอันที่นี่ อันแรกคือ wp_init()
และใช้เพื่อลงทะเบียนสถานะใหม่ของเรา เมื่อลงทะเบียนสถานะแล้ว ฟังก์ชันนี้ไม่จำเป็นอีกต่อไป คุณสามารถลบเบ็ดนี้และการเรียกกลับของฟังก์ชันได้หลังจากเสร็จสิ้น
และอันที่สองคือ wc_order_statuses()
filter hook ซึ่งรวมถึงสถานะคำสั่งซื้อใหม่ในรายการที่มี สามารถใช้เมื่อเชื่อมต่อกับคำสั่งซื้อจากแดชบอร์ดผู้ดูแลระบบ WooCommerce
คุณสามารถดูสถานะคำสั่งซื้อที่กำหนดเองใหม่ได้เมื่อคุณแก้ไขคำสั่งซื้อจาก WooCommerce > คำสั่งซื้อจากแดชบอร์ด WordPress ของคุณ จากนั้น คลิกที่ตัวเลือกสถานะ และสถานะคำสั่งซื้อ "รอสาย" จะแสดงในเมนูดรอปดาวน์
แก้ไขสถานะคำสั่งซื้อที่มีอยู่ใน WooCommerce
เรายังสามารถใช้ตัวกรองเบ็ดแบบเดียวกับที่เห็นในสคริปต์ตัวอย่างก่อนหน้า wc_order_statuses()
เพื่อเปลี่ยนชื่อของสถานะคำสั่งซื้อที่มีอยู่
โค้ดตัวอย่างต่อไปนี้จะแก้ไขสถานะคำสั่งซื้อสองรายการ: "กำลังดำเนินการ" และ "เสร็จสิ้น" โดยเปลี่ยนเป็น "กำลังดำเนินการ" และ "กำลังจัดส่ง"
ฟังก์ชัน QuadLayers_rename_status ($order_statuses) { foreach ( $order_statuses เป็น $key => $status ) { ถ้า ( 'การประมวลผล wc' === $key ) { $order_statuses['wc-processing'] = _x( 'กำลังดำเนินการ', 'สถานะการสั่งซื้อ', 'woocommerce' ); } ถ้า ( 'wc เสร็จสมบูรณ์' === $key ) { $order_statuses['wc-completed'] = _x( 'ส่งมอบแล้ว', 'สถานะการสั่งซื้อ', 'woocommerce' ); } } ส่งคืน $order_statuses; } add_filter( 'wc_order_statuses', 'QuadLayers_rename_status' );
อย่าลืมอัปเดตไฟล์หลังจากที่คุณเพิ่มรหัสลงในไฟล์แล้ว
แค่นั้นแหละ! นี่คือวิธีที่คุณสามารถแก้ไขสถานะคำสั่งซื้อที่มีอยู่หรือแบบกำหนดเองบนเว็บไซต์ WooCommerce ของคุณ
ลบสถานะคำสั่งซื้อใน WooCommerce
อีกครั้ง wc_order_statuses()
จะเป็นประโยชน์ในการลบสถานะคำสั่งซื้อเฉพาะ ในกรณีนี้ เราจะลบสถานะคำสั่งซื้อ "คืนเงิน"
ใช้สคริปต์ต่อไปนี้เพื่อลบสถานะคำสั่งซื้อที่มีอยู่ การดำเนินการนี้จะใช้ได้สำหรับทั้งสถานะคำสั่งซื้อเริ่มต้นและสำหรับสถานะที่กำหนดเอง
ฟังก์ชัน QuadLayers_remove_status (สถานะ $) { if( isset( $statuses['wc-refunded'] ) ){ unset( $สถานะ['wc-คืนเงิน'] ); } คืนค่าสถานะ $; } add_filter( 'wc_order_statuses', 'QuadLayers_remove_status' );
โปรดทราบว่าหากคุณลบสถานะคำสั่งซื้อเริ่มต้นของ WooCommerce การดำเนินการนี้อาจทำให้การผสานรวมกับเกตเวย์การชำระเงินบางส่วนหยุดชะงัก
บทสรุป
นี่คือวิธีต่างๆ ในการเพิ่มและแก้ไขสถานะคำสั่งซื้อที่กำหนดเองใน WooCommerce โดยใช้รหัส พวกเขาสามารถแก้ไขเพิ่มเติมเพื่อแก้ไขและลบแม้กระทั่งสถานะคำสั่งซื้อ WooCommerce ที่เป็นค่าเริ่มต้นที่มีอยู่ อย่างไรก็ตาม คุณจะต้องเพิ่มสถานะคำสั่งซื้อที่กำหนดเองใหม่หรือแก้ไขสถานะที่มีอยู่หากสถานะคำสั่งซื้อเริ่มต้นไม่เพียงพอสำหรับคุณและความต้องการของลูกค้าของคุณ
อย่างที่คุณเห็น การเพิ่มและแก้ไขสถานะคำสั่งซื้อที่กำหนดเองในร้านค้าออนไลน์ของคุณนั้นง่ายมาก แต่คุณต้องมีความเข้าใจพื้นฐานเกี่ยวกับวิธีใช้ WooCommerce hooks ในทำนองเดียวกัน หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับคำสั่งซื้อของ WooCommerce เรายังมีคำแนะนำโดยละเอียดเกี่ยวกับวิธีการทดสอบ ทำซ้ำ ลบ และแม้แต่การเติมคำสั่งซื้ออัตโนมัติใน WooCommerce
คุณได้ลองแก้ไขและเพิ่มสถานะคำสั่งซื้อบนเว็บไซต์ของคุณหรือไม่? โปรดแจ้งให้เราทราบในความคิดเห็น
ในระหว่างนี้ โปรดดูโพสต์เพิ่มเติมที่อาจเป็นประโยชน์สำหรับคุณ:
- วิธีสร้างปลั๊กอิน WordPress แบบกำหนดเอง
- ปลั๊กอิน WooCommerce ที่ดีที่สุดสำหรับการสั่งซื้อซ้ำ
- วิธีเพิ่มค่าธรรมเนียมในการชำระเงิน WooCommerce