วิธีลบรูปภาพ WooCommerce ที่ไม่ได้ใช้ออกจาก Dokan Marketplace ของคุณ

เผยแพร่แล้ว: 2022-04-06

กำลังมองหาวิธีแก้ปัญหาในการลบภาพในขณะที่ทำการลบผลิตภัณฑ์ WooCommerce จำนวนมากใช่หรือไม่

ในขณะที่ทำธุรกิจออนไลน์ คุณต้องระมัดระวัง คุณควรระวังทุกอย่าง เช่น แฟชั่นที่กำลังมาแรง เทรนด์ใหม่ และสินค้าที่ล้าสมัยของร้านค้าของคุณ คุณสามารถอัปเดตไซต์ของคุณด้วยผลิตภัณฑ์ล่าสุดที่มีแนวโน้มว่าจะขายได้มากขึ้น

เพื่อให้ร้านค้าของคุณทันสมัยอยู่เสมอ ในบางครั้ง คุณจำเป็นต้องลบผลิตภัณฑ์บางรายการที่ไม่ได้ขายเป็นเวลานานหรือผลิตภัณฑ์ที่อยู่นอกฤดูกาล สำหรับร้านค้า WooCommerce คุณสามารถทำได้โดยใช้การตั้งค่าเริ่มต้นของ WooCommerce หรือเรียกใช้คำสั่ง SQL

แต่ปัญหาคือ WordPress ไม่ลบสื่อเมื่อลบโพสต์ นี่อาจเป็นปัญหาสำคัญสำหรับไซต์อีคอมเมิร์ซหรือตลาดที่มีรูปภาพคุณภาพสูงนับพัน

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

ทำไมคุณควรลบภาพผลิตภัณฑ์ WooCommerce หลังจากลบผลิตภัณฑ์นั้น

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

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

ประโยชน์ของการลบภาพผลิตภัณฑ์หลังจากลบผลิตภัณฑ์นั้น
1. ปรับปรุงประสิทธิภาพของเว็บไซต์
2. เพิ่มความเร็วของร้านค้าโดยลดพื้นที่จัดเก็บของเซิร์ฟเวอร์
3. ทำให้ไซต์มีน้ำหนักเบา
4. สร้างพื้นที่เพิ่มเติมสำหรับการอัปโหลดเพิ่มเติม
5. เพิ่มประสิทธิภาพฐานข้อมูลร้านค้า

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

ในกรณีดังกล่าว การลบรูปภาพเด่นและรูปภาพในแกลเลอรีจะเป็นประโยชน์หากผู้ใช้/ผู้ขายลบผลิตภัณฑ์ใดๆ

แต่ปัญหาอื่นอาจเกิดขึ้นได้หากมีคนใช้รูปภาพเดียวกันในหลายโพสต์

วันนี้เราจะนำเสนอวิธีแก้ปัญหาเพื่อจัดการกับอุปสรรคเหล่านี้

วิธีการลบภาพ Woocommerce หลังจากลบผลิตภัณฑ์?

ลบผลิตภัณฑ์ 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 จำนวนมาก

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

เราได้เน้นประเภทผลิตภัณฑ์ที่คุณอาจต้องลบจำนวนมาก-

  • สินค้าตามฤดูกาล
  • ผลิตภัณฑ์วงจร
  • สินค้าหมดสต๊อก
  • สินค้าไม่ขาย
  • ทดสอบผลิตภัณฑ์

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

ผลิตภัณฑ์ Cyclic: ต้องเติมสินค้าคงคลังด้วยผลิตภัณฑ์ใหม่เป็นระยะ ตัวอย่างเช่น หลังจากเทศกาลพิเศษ คุณต้องลบสินค้าเก่าออกจากร้านค้าและอัปโหลดสินค้าใหม่

สินค้าหมด: สินค้าที่ไม่มีในสต็อกและมีโอกาสน้อยที่จะเติมซ้ำ จะเป็นการดีกว่าถ้าจะกำจัดผลิตภัณฑ์เหล่านั้น

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

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

แหล่งข้อมูลที่เกี่ยวข้อง: ประเภทของผลิตภัณฑ์ที่คุณสามารถสร้างโดยใช้ WooCommerce!

ไปยังคุณ

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

คู่มือด้านบนช่วยให้คุณรวมกระบวนการอัตโนมัติในการลบภาพเมื่อลบผลิตภัณฑ์ใน WooCommerce

คุณยังมีคำถามเกี่ยวกับวิธีการลบผลิตภัณฑ์ WooCommerce และรูปภาพผลิตภัณฑ์จำนวนมากด้วย action hooks หรือไม่? แจ้งให้เราทราบในความคิดเห็น!

สมัครสมาชิกบล็อก weDevs

เราส่งจดหมายข่าวรายสัปดาห์ไม่มีสแปมแน่นอน