Cara Menghapus Gambar WooCommerce yang Tidak Digunakan dari Pasar Dokan Anda
Diterbitkan: 2022-04-06Mencari solusi untuk menghapus gambar saat melakukan penghapusan massal produk WooCommerce?
Saat menjalankan bisnis online, Anda harus waspada. Anda harus mengetahui segala sesuatu seperti tren fashion, tren baru, dan produk usang dari toko Anda. Anda dapat terus memperbarui situs Anda dengan produk-produk terbaru yang lebih mungkin untuk dijual.
Agar toko Anda tetap up-to-date, terkadang Anda perlu menghapus beberapa produk yang sudah lama tidak terjual atau produk yang sudah tidak musim. Untuk toko WooCommerce, Anda dapat melakukannya dengan mudah menggunakan pengaturan default WooCommerce atau menjalankan perintah SQL.
Tapi masalahnya adalah WordPress tidak menghapus media saat menghapus postingan. Ini bisa menjadi masalah besar bagi situs atau pasar eCommerce yang memiliki ribuan gambar berkualitas tinggi.
Di blog berikut, Anda akan mempelajari cara menghapus gambar WooCommerce dari galeri saat menghapus produk untuk satu toko dan pasar multivendor.
Mengapa Anda Harus Menghapus Gambar Produk WooCommerce setelah Menghapus Produk Itu
Anda perlu mengunggah banyak produk dengan ribuan gambar terkait untuk toko eCommerce Anda. Dan terkadang juga sangat normal untuk menghapus beberapa produk dari situs Anda karena beberapa alasan. Setelah menghapus produk jika Anda memeriksa perpustakaan media Anda, Anda akan menemukan semua gambar yang digunakan untuk produk yang Anda hapus.
Artinya, setelah menghapus produk di WooCommerce, sistem menghapus sebagian besar data yang terkait dengannya. Namun gambar produk tersebut akan tetap ada di database dan folder media. Ini akan membuat situs Anda terlalu berat.
Manfaat Menghapus Gambar Produk Setelah Menghapus Produk Itu |
1. Tingkatkan kinerja situs |
2. Tingkatkan kecepatan penyimpanan dengan meminimalkan penyimpanan server |
3. Jaga agar situs tetap ringan |
4. Buat lebih banyak ruang untuk mengunggah lebih lanjut |
5. Optimalkan database toko |
Bagi pemilik pasar, skenarionya sedikit lebih rumit. Sangat sulit untuk memantau semua file media yang diunggah oleh vendor yang berbeda. Karena vendor mungkin mengunggah sejumlah besar produk setiap hari dan juga menghapus banyak produk yang sudah ada. Pada gilirannya, gambar produk mereka dapat mengurangi ruang server Anda yang tidak baik untuk kinerja situs Anda.
Dalam hal ini, akan bermanfaat untuk menghapus semua gambar unggulan dan gambar galeri jika pengguna/vendor menghapus produk apa pun.
Tapi masalah lain bisa muncul di sana jika seseorang menggunakan gambar yang sama di banyak postingan.
Nah, hari ini kami akan menunjukkan solusi untuk mengatasi semua kendala tersebut.
Bagaimana Cara Menghapus Gambar Woocommerce Setelah Menghapus Produk?
Di sini, kita akan menggunakan hook: before_delete_post
. Periksa detail tentang kait ini di sini.
Ikuti langkah-langkah di bawah ini untuk menghapus gambar yang tidak digunakan selama penghapusan massal produk WooCommerce:
- Langkah1: Buat Tema Anak
- Langkah2: Terapkan Kode Di Dalam Tema Anak Anda
- Langkah3: Periksa Hasil Toko Online Anda
Langkah 1: Buat Tema Anak
Pertama, buat tema anak. Anda perlu memodifikasi tema anak ini karena penyempurnaan ini berkaitan dengan tema.
Anda dapat mengikuti panduan ini untuk membuat tema anak dengan mudah. Atau gunakan plugin WordPress apa pun untuk membuat tema anak.
Langkah 2: Terapkan Kode Di Dalam Tema Anak Anda
Selanjutnya, buka child-theme functions.php dan rekatkan kode di bawah ini-
// 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 ); } } }
Langkah 3: Periksa Hasil Toko Online Anda
Setelah memasukkan kode, simpan function.php. Sekarang buka toko WooCommerce Anda dan hapus produk. Ini juga akan menghapus gambar terkait.
Cara Menghapus Gambar Produk WooCommerce di Dokan Marketplace
Sekarang kami akan menunjukkan cara menghapus gambar Woocommerce setelah menghapus produk di dalam marketplace. Ini membantu Anda membebaskan ruang server dan mengurangi kekacauan perpustakaan media.
Dalam hal ini, rekatkan cuplikan kode di bawah ini ke dalam file functions.php tema Anda-
<?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 ); } } } );
Sekarang, setiap kali vendor menghapus produk dari pasar, gambar produk yang terkait secara otomatis akan hilang dari perpustakaan media.
Bonus: Saat Anda Perlu Menghapus Produk WooCommerce Secara Massal
Sebaiknya hapus Gambar yang tidak terpakai dari galeri media Anda. Gambar-gambar ini tidak menambah nilai pada toko Anda. Melainkan menghambat kinerja situs Anda. Tetapi pertama-tama, Anda harus memutuskan produk mana yang perlu Anda hapus dari toko online Anda.
Kami telah menyoroti jenis produk yang mungkin perlu Anda hapus secara massal-
- Produk musiman
- Produk siklus
- Produk habis
- Produk yang tidak laris
- Produk uji
Produk musiman: Beberapa produk mungkin kehilangan permintaannya setelah jangka waktu tertentu. Anda dapat menambahkan produk musim dingin baru, misalnya, di toko Anda yang menargetkan periode waktu terdingin dalam setahun. Tetapi setelah datangnya musim semi, permintaan akan produk semacam itu akan turun dan segera mereka akan benar-benar keluar dari tren. Dan Anda perlu menghapus produk WooCommerce secara massal dari toko Anda.
Produk siklik: Persediaan perlu diisi ulang dengan produk baru secara berkala. Misalnya, setelah festival khusus, Anda harus menghapus produk lama dari toko dan mengunggah yang baru.
Out of stock products: Produk yang tidak tersedia dalam stok dan kecil kemungkinan untuk restock lagi, akan lebih baik untuk menyingkirkan produk tersebut.
Produk non-penjualan: Jika Anda memiliki produk dalam stok yang tidak biasa dijual, Anda harus menghapus produk tersebut dari toko Anda. Karena produk ini hanya akan menambah tanggung jawab Anda dan menyia-nyiakan ruang Anda.
Produk uji: Berkali-kali sebelum meluncurkan produk asli, Anda harus memperkenalkan banyak produk uji untuk melihat apakah produk tersebut bekerja dengan baik. Setelah Anda meluncurkan produk utama, lebih baik hapus produk uji.
Sumber Terkait: Jenis Produk yang Dapat Anda Buat Menggunakan WooCommerce!
Ke Anda
Mungkin ada beberapa situasi ketika Anda perlu menghapus produk WooCommerce secara massal. Dan itu tidak akan sulit sebagai pengguna WordPress. Tetapi Anda menghadapi kesulitan ketika setelah menghapus produk, gambar produk terkait masih ada di perpustakaan media.
Panduan di atas membantu Anda menyertakan proses otomatis untuk menghapus gambar saat menghapus produk di WooCommerce.
Apakah Anda masih memiliki pertanyaan tentang cara menghapus produk dan gambar produk WooCommerce secara massal dengan kait tindakan? Beri tahu kami di komentar!