Jak usunąć nieużywane obrazy WooCommerce ze swojego Dokan Marketplace?

Opublikowany: 2022-04-06

Szukasz rozwiązań do usuwania obrazów podczas zbiorczego usuwania produktów WooCommerce?

Prowadząc biznes online, musisz być czujny. Powinieneś być świadomy wszystkiego, jak modna moda, nowe trendy i przestarzałe produkty Twojego sklepu. Możesz aktualizować swoją witrynę o najnowsze produkty, które mają większe szanse na sprzedaż.

Aby Twój sklep był zawsze aktualny, czasami musisz usunąć niektóre produkty, które nie były sprzedawane od dłuższego czasu lub produkty, które są poza sezonem. W przypadku sklepu WooCommerce możesz to łatwo zrobić, używając domyślnego ustawienia WooCommerce lub uruchamiając polecenie SQL.

Problem polega jednak na tym, że WordPress nie usuwa multimediów po usunięciu posta. Może to być poważny problem w przypadku witryny eCommerce lub rynku z tysiącami obrazów wysokiej jakości.

W poniższym blogu dowiesz się, jak usunąć obrazy WooCommerce z galerii podczas usuwania produktu zarówno dla jednego sklepu, jak i dla rynku wielu dostawców.

Dlaczego powinieneś usunąć obrazy produktów WooCommerce po usunięciu tego produktu

Musisz przesłać wiele produktów z tysiącami powiązanych obrazów do swojego sklepu eCommerce. Czasami z pewnych powodów usunięcie niektórych produktów z witryny jest również bardzo normalne. Po usunięciu produktu, jeśli sprawdzisz swoją bibliotekę multimediów, znajdziesz wszystkie te obrazy, które zostały użyte w usuniętych produktach.

Oznacza to, że po usunięciu produktu w WooCommerce, system usuwa większość powiązanych z nim danych. Ale obraz tego produktu pozostanie w bazie danych i folderze multimediów. Sprawi, że Twoja witryna będzie niepotrzebnie ciężka.

Korzyści z usunięcia zdjęć produktów po usunięciu tego produktu
1. Popraw wydajność witryny
2. Zwiększ prędkość sklepu, minimalizując pamięć serwera
3. Utrzymuj lekką witrynę
4. Stwórz więcej miejsca na dalsze przesyłanie
5. Zoptymalizuj bazę danych sklepu

Dla właścicieli marketplace scenariusz jest nieco bardziej złożony. Monitorowanie wszystkich plików multimedialnych przesłanych przez różnych dostawców jest bardzo trudne. Ponieważ sprzedawca prawdopodobnie codziennie przesyła dużą liczbę produktów, a także usuwa wiele istniejących. Z kolei ich obrazy produktów mogą zmniejszyć ilość miejsca na serwerze, co nie jest dobre dla wydajności witryny.

W takim przypadku korzystne byłoby usunięcie wszystkich polecanych obrazów i obrazów z galerii, jeśli użytkownik/dostawca usunie dowolny produkt.

Ale może pojawić się inny problem, jeśli ktoś użyje tych samych zdjęć w wielu postach.

Cóż, dzisiaj pokażemy Ci rozwiązania, które pomogą Ci poradzić sobie z tymi wszystkimi przeszkodami.

Jak usunąć obrazy Woocommerce po usunięciu produktu?

zbiorcze usuwanie produktów WooCommerce

Tutaj użyjemy haka: before_delete_post . Sprawdź szczegóły dotyczące tego haka tutaj.

Wykonaj poniższe czynności, aby usunąć nieużywane obrazy podczas zbiorczego usuwania produktów WooCommerce:

  • Krok 1: Utwórz motyw potomny
  • Krok 2: Zaimplementuj kod w motywie potomnym
  • Krok 3: Sprawdź wynik dla swojego sklepu internetowego

Krok 1: Utwórz motyw potomny

Najpierw utwórz motyw potomny. Musisz zmodyfikować ten motyw podrzędny, ponieważ to ulepszenie jest powiązane z motywem.

Utwórz folder dla motywu potomnego

Możesz postępować zgodnie z tym przewodnikiem, aby z łatwością utworzyć motyw potomny. Lub użyj dowolnej wtyczki WordPress, aby utworzyć motyw podrzędny.

Krok 2: Zaimplementuj kod w swoim motywie potomnym

Następnie otwórz swój motyw podrzędny functions.php i wklej poniższy kod-

 // 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 ); } } }

Krok 3: Sprawdź wynik dla swojego sklepu internetowego

Po wstawieniu kodu zapisz functions.php. Teraz przejdź do swojego sklepu WooCommerce i usuń produkt. Usunie również powiązane obrazy.

usuń obrazy

Jak usunąć obrazy produktów WooCommerce z Dokan Marketplace?

Teraz pokażemy Ci, jak usunąć obrazy Woocommerce po usunięciu produktów na rynku. Pomaga zwolnić miejsce na serwerze i zmniejszyć bałagan w bibliotece multimediów.

W takim przypadku wklej poniższy fragment kodu w pliku functions.php motywu-

 <?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 ); } } } );

Teraz, gdy jakikolwiek dostawca usunie produkt z rynku, powiązane obrazy produktów automatycznie znikną z biblioteki multimediów.

Bonus: kiedy musisz zbiorczo usunąć produkty WooCommerce

zbiorcze usuwanie produktów WooCommerce

Dobrym pomysłem jest usunięcie nieużywanych obrazów z galerii multimediów. Te obrazy nie dodają wartości Twojemu sklepowi. Raczej ogranicza wydajność witryny. Ale najpierw musisz zdecydować, które produkty chcesz usunąć ze swojego sklepu internetowego.

Podkreśliliśmy rodzaj produktów, które mogą być konieczne do zbiorczego usunięcia-

  • Produkty sezonowe
  • Produkty cykliczne
  • Produkty niedostępne
  • Produkty niesprzedające
  • Testuj produkty

Produkty sezonowe: Niektóre produkty mogą stracić popyt po określonym czasie. Możesz dodać nowe produkty zimowe, na przykład w swoim sklepie, kierując się na najzimniejszą porę roku. Jednak wraz z nadejściem wiosny popyt na takie produkty spadłby i wkrótce całkowicie wypadły z mody. I musisz zbiorczo usunąć produkty WooCommerce ze swojego sklepu.

Produkty cykliczne: Zapasy należy uzupełniać nowymi produktami w regularnych odstępach czasu. Na przykład po specjalnym festiwalu musisz usunąć stare produkty ze sklepu i wgrać nowe.

Produkty niedostępne : Produkty, których nie ma w magazynie i mniejsza możliwość uzupełnienia zapasów, lepiej byłoby pozbyć się tych produktów.

Produkty niesprzedające się : jeśli masz w magazynie produkty, które nie są powszechnie sprzedawane, należy je usunąć ze swojego sklepu. Ponieważ te produkty tylko zwiększą Twoją odpowiedzialność i zmarnują Twoją przestrzeń.

Testuj produkty: Wiele razy przed uruchomieniem oryginalnego produktu musisz wprowadzić wiele produktów testowych, aby sprawdzić, czy działa dobrze. Po uruchomieniu głównego produktu lepiej usunąć produkty testowe.

Powiązany zasób: Rodzaje produktów, które możesz tworzyć za pomocą WooCommerce!

Do Ciebie

Może zaistnieć kilka sytuacji, w których trzeba zbiorczo usunąć produkty WooCommerce. I nie byłoby to trudne jako użytkownik WordPressa. Ale napotykasz trudności, gdy po usunięciu produktu powiązane obrazy produktów nadal pozostają w bibliotece multimediów.

Powyższy przewodnik pomaga uwzględnić automatyczny proces usuwania obrazów podczas usuwania produktu w WooCommerce.

Czy nadal masz pytania dotyczące zbiorczego usuwania produktów WooCommerce i obrazów produktów za pomocą haków akcji? Daj nam znać w komentarzach!

Subskrybuj bloga weDevs

Wysyłamy cotygodniowy newsletter, bez spamu na pewno