วิธีเพิ่มและแก้ไขสถานะคำสั่งซื้อที่กำหนดเองใน 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 สร้างสถานะคำสั่งซื้อที่กำหนดเอง

แก้ไขสถานะคำสั่งซื้อที่มีอยู่ใน 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 เปลี่ยนชื่อสถานะคำสั่งซื้อ 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