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

เผยแพร่แล้ว: 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

ตอนนี้ เราจะแสดงวิธีลบรูปภาพ 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 จำนวนมากออกจากร้านค้าของคุณ

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

สินค้าหมดสต็อก: สินค้าที่ไม่มีในสต็อกและมีโอกาสน้อยที่จะเติมสต็อกอีกครั้ง จะเป็นการดีกว่าหากกำจัดสินค้าเหล่านั้น

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

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

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

ไปยังคุณ

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

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

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

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

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