Jak usunąć nieużywane obrazy WooCommerce z Twojego Dokan Marketplace

Opublikowany: 2022-04-06

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

Prowadząc biznes online, musisz być czujny. Powinieneś być świadomy wszystkiego, jak trendy w modzie, nowe trendy i przestarzałe produkty Twojego sklepu. Możesz na bieżąco 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ć, korzystając z domyślnego ustawienia WooCommerce lub uruchamiając polecenie SQL.

Ale problem polega na tym, że WordPress nie usuwa multimediów po usunięciu posta. Może to stanowić poważny problem dla witryny e-commerce lub platformy handlowej z tysiącami obrazów wysokiej jakości.

Na poniższym blogu dowiesz się, jak usunąć obrazy WooCommerce z galerii podczas usuwania produktu zarówno dla jednego sklepu, jak i 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 usunięcie niektórych produktów ze swojej witryny z pewnych powodów jest również bardzo normalne. Po usunięciu produktu, jeśli sprawdzisz swoją bibliotekę multimediów, znajdziesz wszystkie obrazy, które zostały użyte dla usuniętych produktów.

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. Spowoduje to, ż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. Zadbaj o to, aby witryna była lekka
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 przesyłanych przez różnych dostawców jest bardzo trudne. Ponieważ sprzedawca może codziennie przesyłać dużą liczbę produktów, a także usuwa wiele istniejących. Z kolei ich obrazy produktów mogą zmniejszyć miejsce na serwerze, co nie jest dobre dla wydajności Twojej witryny.

W takim przypadku korzystne byłoby usunięcie całego wyróżnionego obrazu i obrazu z galerii, jeśli użytkownik/sprzedawca usunie jakikolwiek produkt.

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

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

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

masowe 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 masowego usuwania produktów WooCommerce:

  • Krok 1: Utwórz motyw potomny
  • Krok 2: Zaimplementuj kod w swoim 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 potomny, 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ą stworzyć motyw potomny. Lub użyj dowolnej wtyczki WordPress, aby utworzyć motyw potomny.

Krok 2: Zaimplementuj kod w swoim motywie potomnym

Następnie otwórz swój motyw potomny 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 plik functions.php. Teraz przejdź do sklepu WooCommerce i usuń produkt. Spowoduje to również usunięcie powiązanych obrazów.

usuń obrazy

Jak usunąć obrazy produktów WooCommerce w 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 do 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 sprzedawca usunie produkt z rynku, powiązane obrazy produktu automatycznie znikną z biblioteki multimediów.

Bonus: kiedy musisz zbiorczo usunąć produkty WooCommerce

masowe usuwanie produktów WooCommerce

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

Podkreśliliśmy typy produktów, które możesz potrzebować do masowego usunięcia-

  • Produkty sezonowe
  • Produkty cykliczne
  • Brak produktów w magazynie
  • Produkty nie sprzedające się
  • Produkty testowe

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

Produkty cykliczne: zapasy muszą być uzupełniane 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óre nie są dostępne w magazynie i mniejsze możliwości ponownego zaopatrzenia, lepiej byłoby pozbyć się tych produktów.

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

Testuj produkty: Wiele razy przed wprowadzeniem na rynek 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 stworzyć 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 WordPress. Ale napotykasz trudności, gdy po usunięciu produktu powiązane obrazy produktów nadal pozostają w bibliotece multimediów.

Powyższy przewodnik pomaga włączyć automatyczny proces usuwania obrazów podczas usuwania produktu w WooCommerce.

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

Subskrybuj blog weDevs

Wysyłamy cotygodniowy newsletter, na pewno nie ma spamu