วิธีลบรูปภาพ WooCommerce ที่ไม่ได้ใช้ออกจาก Dokan Marketplace ของคุณ
เผยแพร่แล้ว: 2022-04-06กำลังมองหาวิธีแก้ปัญหาในการลบภาพในขณะที่ทำการลบผลิตภัณฑ์ WooCommerce จำนวนมากใช่หรือไม่
ในขณะที่ทำธุรกิจออนไลน์ คุณต้องระมัดระวัง คุณควรระวังทุกอย่าง เช่น แฟชั่นที่กำลังมาแรง เทรนด์ใหม่ และสินค้าที่ล้าสมัยของร้านค้าของคุณ คุณสามารถอัปเดตไซต์ของคุณด้วยผลิตภัณฑ์ล่าสุดที่มีแนวโน้มว่าจะขายได้มากขึ้น
เพื่อให้ร้านค้าของคุณทันสมัยอยู่เสมอ ในบางครั้ง คุณจำเป็นต้องลบผลิตภัณฑ์บางรายการที่ไม่ได้ขายเป็นเวลานานหรือผลิตภัณฑ์ที่อยู่นอกฤดูกาล สำหรับร้านค้า WooCommerce คุณสามารถทำได้โดยใช้การตั้งค่าเริ่มต้นของ WooCommerce หรือเรียกใช้คำสั่ง SQL
แต่ปัญหาคือ WordPress ไม่ลบสื่อเมื่อลบโพสต์ นี่อาจเป็นปัญหาสำคัญสำหรับไซต์อีคอมเมิร์ซหรือตลาดที่มีรูปภาพคุณภาพสูงนับพัน
ในบล็อกต่อไปนี้ คุณจะได้เรียนรู้วิธีลบภาพ WooCommerce ออกจากแกลเลอรีเมื่อลบผลิตภัณฑ์สำหรับทั้งร้านค้าเดียวและตลาดผู้ขายหลายราย
ทำไมคุณควรลบภาพผลิตภัณฑ์ WooCommerce หลังจากลบผลิตภัณฑ์นั้น
คุณต้องอัปโหลดผลิตภัณฑ์จำนวนมากพร้อมรูปภาพที่เกี่ยวข้องนับพันสำหรับร้านอีคอมเมิร์ซของคุณ และบางครั้งก็เป็นเรื่องปกติมากที่จะลบผลิตภัณฑ์บางรายการออกจากไซต์ของคุณเนื่องจากสาเหตุบางประการ หลังจากลบผลิตภัณฑ์ หากคุณตรวจสอบไลบรารีสื่อของคุณ คุณจะพบภาพทั้งหมดที่ใช้สำหรับผลิตภัณฑ์ที่ถูกลบของคุณ
ซึ่งหมายความว่าหลังจากลบผลิตภัณฑ์ใน WooCommerce ระบบจะลบข้อมูลส่วนใหญ่ที่เกี่ยวข้องออก แต่รูปภาพของผลิตภัณฑ์นั้นจะยังคงอยู่ในฐานข้อมูลและโฟลเดอร์สื่อ มันจะทำให้เว็บไซต์ของคุณมีน้ำหนักเกินความจำเป็น
ประโยชน์ของการลบภาพผลิตภัณฑ์หลังจากลบผลิตภัณฑ์นั้น |
1. ปรับปรุงประสิทธิภาพของเว็บไซต์ |
2. เพิ่มความเร็วของร้านค้าโดยลดพื้นที่จัดเก็บของเซิร์ฟเวอร์ |
3. ทำให้ไซต์มีน้ำหนักเบา |
4. สร้างพื้นที่เพิ่มเติมสำหรับการอัปโหลดเพิ่มเติม |
5. เพิ่มประสิทธิภาพฐานข้อมูลร้านค้า |
สำหรับเจ้าของตลาด สถานการณ์นี้ซับซ้อนกว่าเล็กน้อย เป็นการยากที่จะตรวจสอบไฟล์สื่อทั้งหมดที่อัปโหลดโดยผู้ขายหลายราย เนื่องจากผู้ขายอาจอัปโหลดผลิตภัณฑ์จำนวนมากทุกวันและลบผลิตภัณฑ์ที่มีอยู่จำนวนมาก ในทางกลับกัน รูปภาพผลิตภัณฑ์ของพวกเขาอาจลดพื้นที่เซิร์ฟเวอร์ของคุณ ซึ่งไม่ดีต่อประสิทธิภาพของไซต์ของคุณ
ในกรณีดังกล่าว การลบรูปภาพเด่นและรูปภาพในแกลเลอรีจะเป็นประโยชน์หากผู้ใช้/ผู้ขายลบผลิตภัณฑ์ใดๆ
แต่ปัญหาอื่นอาจเกิดขึ้นได้หากมีคนใช้รูปภาพเดียวกันในหลายโพสต์
วันนี้เราจะนำเสนอวิธีแก้ปัญหาเพื่อจัดการกับอุปสรรคเหล่านี้
วิธีการลบภาพ Woocommerce หลังจากลบผลิตภัณฑ์?

เราจะใช้ hook: before_delete_post
ตรวจสอบรายละเอียดเกี่ยวกับเบ็ดนี้ที่นี่
ทำตามขั้นตอนด้านล่างเพื่อลบภาพที่ไม่ได้ใช้ในระหว่างการลบผลิตภัณฑ์ WooCommerce จำนวนมาก:
- ขั้นตอนที่ 1: สร้างธีมลูก
- ขั้นตอนที่ 2: ใช้รหัสภายในธีมลูกของคุณ
- ขั้นตอนที่ 3: ตรวจสอบผลลัพธ์สำหรับร้านค้าออนไลน์ของคุณ
ขั้นตอนที่ 1: สร้างธีมลูก
ขั้นแรก สร้างธีมลูก คุณต้องแก้ไขธีมลูกนี้ เนื่องจากการปรับปรุงนี้เกี่ยวข้องกับธีม

คุณสามารถทำตามคำแนะนำนี้เพื่อสร้างธีมลูกได้อย่างง่ายดาย หรือใช้ปลั๊กอิน WordPress เพื่อสร้างธีมลูก
ขั้นตอนที่ 2: ใช้รหัสภายในธีมลูกของคุณ
จากนั้นเปิด ฟังก์ชั่น ธีมลูกของคุณ php และวางโค้ดด้านล่าง-
// Automatically Delete Woocommerce Images After Deleting a Product add_action( 'before_delete_post', 'delete_product_images', 10, 1 ); function delete_product_images( $post_id ) { $product = wc_get_product( $post_id ); if ( !$product ) { return; } $featured_image_id = $product->get_image_id(); $image_galleries_id = $product->get_gallery_image_ids(); if( !empty( $featured_image_id ) ) { wp_delete_post( $featured_image_id ); } if( !empty( $image_galleries_id ) ) { foreach( $image_galleries_id as $single_image_id ) { wp_delete_post( $single_image_id ); } } }
ขั้นตอนที่ 3: ตรวจสอบผลลัพธ์สำหรับร้านค้าออนไลน์ของคุณ
หลังจากใส่รหัสแล้วให้บันทึก functions.php ไปที่ร้านค้า WooCommerce ของคุณและลบผลิตภัณฑ์ มันจะลบภาพที่เกี่ยวข้องเช่นกัน

วิธีลบภาพผลิตภัณฑ์ WooCommerce ใน Dokan Marketplace
ตอนนี้เราจะแสดงวิธีการลบภาพ Woocommerce หลังจากลบผลิตภัณฑ์ภายในตลาด ช่วยให้คุณเพิ่มพื้นที่เซิร์ฟเวอร์และลดความยุ่งเหยิงของไลบรารีสื่อ
ในกรณีนี้ ให้วางโค้ดด้านล่างลงในไฟล์ functions.php ของธีมของคุณ

<?php add_action( 'before_delete_post', function( $id ) { $product = wc_get_product( $id ); if ( ! $product ) { return; } $all_product_ids = []; $product_thum_id_holder = []; $gallery_image_id_holder = []; $thum_id = get_post_thumbnail_id( $product->get_id() ); if ( function_exists( 'dokan' ) ) { $vendor = dokan()->vendor->get( dokan_get_current_user_id() ); if ( ! $vendor instanceof WeDevs\Dokan\Vendor\Vendor || $vendor->get_id() === 0 ) { return; } $products = $vendor->get_products(); if ( empty( $products->posts ) ) { return; } foreach ( $products->posts as $post ) { array_push( $all_product_ids, $post->ID ); } } else { $args = [ 'posts_per_page' => '-1' ]; $products = wc_get_products( $args ); foreach ( $products as $product ) { array_push( $all_product_ids, $product->get_id() ); } } foreach ( $all_product_ids as $product_id ) { if ( intval( $product_id ) !== intval( $id ) ) { array_push( $product_thum_id_holder, get_post_thumbnail_id( $product_id ) ); $wc_product = wc_get_product( $product_id ); $gallery_image_ids = $wc_product->get_gallery_image_ids(); if ( empty( $gallery_image_ids ) ) { continue; } foreach ( $gallery_image_ids as $gallery_image_id ) { array_push( $gallery_image_id_holder, $gallery_image_id ); } } } if ( ! in_array( $thum_id, $product_thum_id_holder ) && ! in_array( $thum_id, $gallery_image_id_holder ) ) { wp_delete_attachment( $thum_id, true ); if ( empty( $thum_id ) ) { return; } $gallery_image_ids = $product->get_gallery_image_ids(); if ( empty( $gallery_image_ids ) ) { return; } foreach ( $gallery_image_ids as $gallery_image_id ) { wp_delete_attachment( $gallery_image_id, true ); } } } );
ตอนนี้ เมื่อใดก็ตามที่ผู้ขายลบผลิตภัณฑ์ออกจากตลาด ภาพผลิตภัณฑ์ที่เกี่ยวข้องจะหายไปจากไลบรารีสื่อโดยอัตโนมัติ
โบนัส: เมื่อคุณต้องการลบผลิตภัณฑ์ WooCommerce จำนวนมาก

เป็นความคิดที่ดีที่จะลบรูปภาพที่ไม่ได้ใช้ออกจากแกลเลอรีสื่อของคุณ รูปภาพเหล่านี้ไม่เพิ่มมูลค่าให้กับร้านค้าของคุณ ค่อนข้างจะขัดขวางประสิทธิภาพเว็บไซต์ของคุณ แต่ก่อนอื่น คุณต้องตัดสินใจว่าจะลบผลิตภัณฑ์ใดออกจากร้านค้าออนไลน์ของคุณ
เราได้เน้นประเภทผลิตภัณฑ์ที่คุณอาจต้องลบจำนวนมาก-
- สินค้าตามฤดูกาล
- ผลิตภัณฑ์วงจร
- สินค้าหมดสต๊อก
- สินค้าไม่ขาย
- ทดสอบผลิตภัณฑ์
ผลิตภัณฑ์ตามฤดูกาล: ผลิตภัณฑ์ บางอย่างอาจสูญเสียความต้องการหลังจากช่วงระยะเวลาหนึ่ง คุณสามารถเพิ่มผลิตภัณฑ์ฤดูหนาวใหม่ได้ ตัวอย่างเช่น ในร้านค้าของคุณโดยกำหนดเป้าหมายเป็นช่วงเวลาที่หนาวที่สุดของปี แต่หลังจากการมาถึงของฤดูใบไม้ผลิ ความต้องการสินค้าดังกล่าวจะลดลงและในไม่ช้าพวกเขาก็จะหมดแนวโน้มโดยสิ้นเชิง และคุณต้องลบผลิตภัณฑ์ WooCommerce จำนวนมากออกจากร้านค้าของคุณ
ผลิตภัณฑ์ Cyclic: ต้องเติมสินค้าคงคลังด้วยผลิตภัณฑ์ใหม่เป็นระยะ ตัวอย่างเช่น หลังจากเทศกาลพิเศษ คุณต้องลบสินค้าเก่าออกจากร้านค้าและอัปโหลดสินค้าใหม่
สินค้าหมด: สินค้าที่ไม่มีในสต็อกและมีโอกาสน้อยที่จะเติมซ้ำ จะเป็นการดีกว่าถ้าจะกำจัดผลิตภัณฑ์เหล่านั้น
สินค้าที่ไม่ขาย: หากคุณมีสินค้าในสต็อกที่ไม่มีขายทั่วไป คุณควรลบสินค้าเหล่านั้นออกจากร้านค้าของคุณ เพราะผลิตภัณฑ์เหล่านี้จะเพิ่มความรับผิดของคุณและทำให้พื้นที่ของคุณเสียเปล่า
ผลิตภัณฑ์ทดสอบ: หลายครั้งก่อนเปิดตัวผลิตภัณฑ์ดั้งเดิม คุณต้องแนะนำผลิตภัณฑ์ทดสอบจำนวนมากเพื่อดูว่าใช้ได้ดีหรือไม่ เมื่อคุณเปิดตัวผลิตภัณฑ์หลัก จะเป็นการดีกว่าที่จะลบผลิตภัณฑ์ทดสอบ
แหล่งข้อมูลที่เกี่ยวข้อง: ประเภทของผลิตภัณฑ์ที่คุณสามารถสร้างโดยใช้ WooCommerce!
ไปยังคุณ
อาจมีหลายสถานการณ์เมื่อคุณต้องการลบผลิตภัณฑ์ WooCommerce จำนวนมาก และคงไม่ยากเหมือนผู้ใช้ WordPress แต่คุณประสบปัญหาเมื่อลบผลิตภัณฑ์แล้ว รูปภาพผลิตภัณฑ์ที่เกี่ยวข้องจะยังคงอยู่ในไลบรารีสื่อ
คู่มือด้านบนช่วยให้คุณรวมกระบวนการอัตโนมัติในการลบภาพเมื่อลบผลิตภัณฑ์ใน WooCommerce
คุณยังมีคำถามเกี่ยวกับวิธีการลบผลิตภัณฑ์ WooCommerce และรูปภาพผลิตภัณฑ์จำนวนมากด้วย action hooks หรือไม่? แจ้งให้เราทราบในความคิดเห็น!