วิธีซ่อนสถานะคำสั่งซื้อใน WooCommerce

เผยแพร่แล้ว: 2020-11-12

WooCommerce ซ่อนสถานะคำสั่งซื้อ คุณต้องการซ่อนสถานะคำสั่งซื้อหลักในร้านค้า WooCommerce ของคุณหรือไม่? เมื่อเร็วๆ นี้ ลูกค้าต้องการให้ฉันซ่อนสถานะคำสั่งซื้อบางส่วนในร้านค้า WooCommerce ของเขา ในโพสต์นี้ คุณจะเห็นวิธีลบสถานะคำสั่งซื้อบางส่วนและวิธีสร้างสถานะคำสั่งซื้อที่กำหนดเองได้อย่างง่ายดาย

WooCommerce ซ่อนสถานะคำสั่งซื้อ

ด้วยเหตุผลหลายประการ คุณอาจต้องการซ่อนสถานะคำสั่งซื้อหลักบางส่วน อย่างไรก็ตาม รุ่นเริ่มต้นของ WooCommerce อนุญาตให้คุณทำเครื่องหมายคำสั่งซื้อด้วยสถานะใดสถานะหนึ่งต่อไปนี้ เสร็จสมบูรณ์ กำลังดำเนินการ รอการชำระเงิน ถูกระงับ คืนเงิน ยกเลิก หรือล้มเหลว

ปลั๊กอินจำนวนมากช่วยให้คุณสามารถจัดการสถานะคำสั่งซื้อได้ และหนึ่งในนั้นคือปลั๊กอิน " ตัวจัดการสถานะคำสั่งซื้อของ WooCommerce " ที่มีราคาอยู่ที่ $49 ตัวจัดการสถานะคำสั่งซื้อของ WooCommerce

นี่อาจเป็นวิธีแก้ปัญหาที่มีราคาแพงสำหรับร้านค้าของคุณ แต่มีวิธีง่ายๆ ในการทำเช่นนี้ ในเวอร์ชันปัจจุบันของ WooCommerce สถานะคำสั่งซื้อจะถูกบันทึกเป็นสถานะโพสต์ที่กำหนดเอง เช่นเดียวกับแบบร่าง กำหนดเวลา หรือเผยแพร่สำหรับโพสต์

วิธีซ่อนสถานะคำสั่งซื้อ

จากที่กล่าวมา ให้เราดูวิธีที่คุณสามารถซ่อนสถานะคำสั่งซื้อใน WooCommerce โดยใช้ข้อมูลโค้ด หากต้องการตรวจสอบข้อความสถานะคำสั่งซื้อเริ่มต้น ให้ลงชื่อเข้าใช้ไซต์ WordPress และเข้าถึงแดชบอร์ดในฐานะผู้ดูแลระบบ จากนั้นคลิกที่ WooCommerce > คำสั่งซื้อ คุณจะเห็นสิ่งนี้: สถานะการสั่งซื้อ แบ็คเอนด์

ข้อความเหล่านี้ยังแสดงในส่วนหน้าเมื่อลูกค้าพยายามสั่งซื้อ สามารถเข้าถึงได้โดยคลิกที่ บัญชีของฉัน > คำสั่งซื้อ ดังที่แสดงด้านล่าง: หน้าสถานะการสั่งซื้อ

ขั้นตอนในการซ่อนสถานะคำสั่งซื้อหลัก

เป็นมูลค่าการกล่าวขวัญว่าเมื่อคุณซ่อนสถานะคำสั่งซื้อหลัก ตรวจสอบให้แน่ใจว่าไม่มีสินค้าที่มีสถานะนั้น นอกจากนี้ คุณควรตรวจสอบให้แน่ใจว่าร้านค้า WooCommerce ของคุณไม่ได้ใช้สถานะนั้นที่ใดก็ได้ เนื่องจากอาจทำให้เกิดข้อผิดพลาดได้ ตัวอย่างเช่น หากคุณไม่ได้วางแผนที่จะคืนเงินในร้านค้า WooCommerce คุณสามารถซ่อนสถานะการคืนเงินได้

สาเหตุที่เราไม่สามารถลบสถานะคำสั่งซื้อหลักทั้งหมดได้ก็คือปลั๊กอินใช้สถานะคำสั่งซื้อ แม้แต่สถานะที่คุณไม่ได้ใช้ในเวิร์กโฟลว์ของคุณ ปลั๊กอินเช่นเกตเวย์การชำระเงิน ถือว่าสถานะคำสั่งซื้อหลักมีอยู่เสมอ ถ้าไม่มีก็จะแตก

นี่คือขั้นตอนที่คุณต้องปฏิบัติตาม:

  1. ลงชื่อเข้าใช้ไซต์ WordPress และเข้าถึง แดชบอร์ด ในฐานะผู้ดูแลระบบ
  2. จากเมนูแดชบอร์ด ให้คลิกที่ เมนูลักษณะที่ปรากฏ > เมนูตัวแก้ไขธีม เมื่อเปิดหน้า Theme Editor ให้มองหาไฟล์ฟังก์ชันของธีมเพื่อเพิ่มฟังก์ชันเพื่อซ่อนสถานะคำสั่งซื้อหลักในร้านค้า WooCommerce ของคุณ
  3. เพิ่มรหัสต่อไปนี้ในไฟล์ functions.php:
 /*

 * การลบสถานะคำสั่งซื้อหลัก

 * @param array $wc_statuses_arr Array ของสถานะการสั่งซื้อทั้งหมดบนเว็บไซต์

 */

ฟังก์ชัน njengah_remove_order_statuses( $wc_statuses_arr ){

            // กำลังประมวลผล

            if( isset( $wc_statuses_arr['wc-processing'] ) ) { // ถ้ามี

                        unset( $wc_statuses_arr['wc-processing'] ); // ลบออกจากอาร์เรย์

            }

            // คืนเงินแล้ว

            if( isset( $wc_statuses_arr['wc-refunded'] ) ){

                        unset( $wc_statuses_arr['wc-refunded'] );

            }

            // พักไว้

            if( isset( $wc_statuses_arr['wc-on-hold'] ) ){

                        unset( $wc_statuses_arr['wc-on-hold'] );

            }

            // ล้มเหลว

            if( isset( $wc_statuses_arr['wc-failed'] ) ){

                        unset( $wc_statuses_arr['wc-failed'] );

            }

            // ที่รอดำเนินการชำระเงิน

            if( isset( $wc_statuses_arr['wc-pending'] ) ){

                        unset( $wc_statuses_arr['wc-pending'] );

            }

            // สมบูรณ์

            //if( isset( $wc_statuses_arr['wc-completed'] ) ){

            // unset( $wc_statuses_arr['wc-completed'] );

            //}

            // ยกเลิก

            //if( isset( $wc_statuses_arr['wc-cancelled'] ) ){

            // unset( $wc_statuses_arr['wc-cancelled'] );

            //}

            คืนค่า $wc_statuses_arr; // ส่งคืนสถานะผลลัพธ์

}

add_filter( 'wc_order_statuses', 'njengah_remove_order_statuses' );
  1. นี่คือผลลัพธ์ในส่วนหน้า: ซ่อนสถานะการสั่งซื้อ
  2. หากต้องการเพิ่มสถานะคำสั่งซื้อที่กำหนดเอง ให้เพิ่มโค้ดต่อไปนี้ในไฟล์ functions.php:
 /**

* ลงทะเบียนสถานะใหม่ด้วย ID "wc-njengah-shipment" และป้ายกำกับ "Awaiting shipping"

*/

ฟังก์ชัน njengah_register_awaiting_shipment_status () {
register_post_status ( 'wc-njengah-shipment', อาร์เรย์ (

'label' => 'กำลังรอการจัดส่ง',

'สาธารณะ' => จริง

'show_in_admin_status_list' => true, // แสดงจำนวนทั้งหมด (12) , เสร็จสมบูรณ์ (9) , กำลังรอการจัดส่ง (2) ...

'label_count' => _n_noop( 'กำลังรอการจัดส่ง <span class="count">(%s)</span>', 'กำลังรอการจัดส่ง <span class="count">(%s)</span>' )

) );
}

add_action( 'เริ่มต้น', 'njengah_register_awaiting_shipment_status' );

/*

* เพิ่มสถานะที่ลงทะเบียนในรายการสถานะการสั่งซื้อ WC

* @param array $wc_statuses_arr Array ของสถานะการสั่งซื้อทั้งหมดบนเว็บไซต์

*/

ฟังก์ชัน njengah_add_status ($wc_statuses_arr) {
$new_statuses_arr = อาร์เรย์ ();

// เพิ่มสถานะคำสั่งซื้อใหม่หลังการประมวลผล

foreach ( $wc_statuses_arr เป็น $id => $label ) {

$new_statuses_arr[ $id ] = $label;

if ( 'wc-completed' === $id ) { // หลังจาก "เสร็จสิ้น" สถานะ

$new_statuses_arr['wc-njengah-shipment'] = 'กำลังรอการจัดส่ง';

}

}
คืนค่า $new_statuses_arr;

// หากสถานะคำสั่งซื้อไม่สำคัญสำหรับคุณ คุณสามารถลบบรรทัดที่ 21-32 และยกเลิกการใส่เครื่องหมาย 35-36 . ต่อไปนี้

// $wc_statuses_arr['wc-njengah-shipment'] = 'กำลังรอการจัดส่ง';

// คืนค่า $wc_statuses_arr;
}

add_filter( 'wc_order_statuses', 'njengah_add_status' );
  1. นี่คือผลลัพธ์: เพิ่มสถานะคำสั่งซื้อที่กำหนดเอง

บทสรุป

ในโพสต์นี้ คุณได้เห็นวิธีซ่อนสถานะคำสั่งซื้อหลักแล้ว อย่างไรก็ตาม สิ่งสำคัญที่ควรทราบคือสถานะคำสั่งซื้อที่คุณต้องการลบจะไม่ถูกใช้ที่ใดก็ได้ในร้านค้าของคุณ เนื่องจากอาจทำให้เกิดข้อผิดพลาดได้ นอกจากนี้ ฉันได้แชร์วิธีเพิ่มสถานะคำสั่งซื้อที่กำหนดเองแล้ว หากคุณไม่คุ้นเคยกับการจัดการโค้ด โปรดติดต่อนักพัฒนา WordPress ที่มีคุณสมบัติ

บทความที่คล้ายกัน