วิธีลบรูปภาพ WooCommerce ที่ไม่ได้ใช้ออกจากตลาด Dokan ของคุณ
เผยแพร่แล้ว: 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
ตอนนี้ เราจะแสดงวิธีลบรูปภาพ 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 จำนวนมาก และคงจะไม่ใช่เรื่องยากสำหรับผู้ใช้งาน WordPress แต่คุณประสบปัญหาเมื่อลบผลิตภัณฑ์แล้ว รูปภาพผลิตภัณฑ์ที่เกี่ยวข้องยังคงอยู่ในไลบรารีสื่อ
คำแนะนำข้างต้นช่วยให้คุณรวมกระบวนการอัตโนมัติเพื่อลบรูปภาพเมื่อลบผลิตภัณฑ์ใน WooCommerce
คุณยังคงมีคำถามเกี่ยวกับวิธีการลบผลิตภัณฑ์ WooCommerce และรูปภาพผลิตภัณฑ์จำนวนมากด้วย action hooks หรือไม่? แจ้งให้เราทราบในความคิดเห็น!