Próbuję wyczyścić foldery przesyłania, ponieważ zaczynają one zajmować zbyt dużo miejsca na moim serwerze.
Próbowałem użyć wtyczek do osiągnięcia tego celu, takich jak DNUI i obrazy czyszczenia, ale te wtyczki są albo niewykonalne, albo w przypadku DNUI (który został niedawno zaktualizowany i działa) nie osiągają dokładnych rezultatów, których szukam. Wynika to z faktu, że moja witryna korzysta z Woocommerce i motywu, które wykorzystują obrazy w innych miejscach, a nie tylko posty lub strony, takie jak nagłówki, stopki i galerie. Wygląda na to, że WC używa własnej wbudowanej wtyczki Lightbox o nazwie Pretty Photo, z której wywoływane są obrazy, które są określone jako DNUI jako „nieużywane”.
Wiem, że to trochę pytanie, ale zastanawiam się, czy ktoś mógłby skierować mnie w dobrym kierunku? Nie jestem programistą, więc prawdopodobnie nie powinienem nawet publikować tutaj, ale mogę wypracować wszystko z czasem i determinacją. Widziałem skrypty na tej stronie, które osiągają takie same wyniki jak wtyczka DNUI, ale nic nie bierze pod uwagę innych zastosowań obrazów (jeśli to w ogóle możliwe?). Każda pomoc byłaby mile widziana.
źródło
Odpowiedzi:
Usuwanie zdjęć za pomocą wtyczki:
Możesz użyć tej wtyczki, przeszuka ona Twoją bazę danych i sprawdzi, czy obraz jest wstawiony do dowolnego postu (w treści, jako polecany obraz, w dowolnym niestandardowym polu, w dowolnym miejscu ...) lub jako tło ...
Jeśli obraz nie jest nigdzie używany, daje możliwość jego usunięcia. Otrzymasz listę wszystkich zdjęć z Twojej witryny, które nie są już używane, więc możesz je bezpiecznie usunąć.
https://wordpress.org/plugins/dnui-delete-not-used-image-wordpress/
i to nadal działa, nawet to jest przestarzałe
https://wordpress.org/plugins/wordpress-uploaded-files-cleaner/
Ręczne usuwanie zdjęć:
Możesz także przeszukiwać bibliotekę multimediów w poszukiwaniu obrazów, które nie są dołączone do postów i stron.
Przejdź do biblioteki multimediów i kliknij „nieprzyłączony”, aby wyświetlić wszystkie obrazy, które mogą być wyświetlane w innych częściach witryny lub nieużywane.
źródło
Cron / Zaplanowane zadania i przeszukiwanie bazy danych to twój przyjaciel
Musiałby to być wtyczka, możesz przypisać mu nawet przedział wp_cron, nie bardzo w przeciwieństwie do sugerowanego powyżej, ale z dodaniem zaznaczenia dowolnego pola typu „post_content” (musisz je zidentyfikować, w zależności od środowiska WP) dla URI / URL obrazu. Może to być wyjątkowo czasochłonne / obciążające procesy w systemie - realistycznie proces ten musiałby być uruchamiany tylko raz dziennie lub w tygodniu - zakładając, że nie ma innych prawnych / biznesowych powodów, aby uruchamiać się częściej.
konfiguracja źródła master-slave DB pozwala, aby ten proces był znacznie mniej szkodliwy dla wydajności, ale wierzę, że wykracza to poza zakres tego pytania.
źródło
Wypróbowałem wtyczkę Image Cleanup i jest ona najlepsza, ale nadal dobrze jest najpierw wykonać kopię zapasową.
źródło
Trzeba będzie przeskanować
wp-content/uploads
folder w poszukiwaniu przesłanych plików, a następnie bazę danych w celu znalezienia odniesień do tych plików, a na koniec dopasować je razem. To, czego nie można dopasować, powinno być bezpieczne do usunięcia.Skanowanie bazy danych jest trudną częścią. Większość odniesień do plików jest przechowywana w bibliotece multimediów, do której można uzyskać dostęp za pomocą standardowych funkcji / interfejsu WordPress. Ale co dzieje się z plikami, które są usuwane z biblioteki multimediów, ale wciąż zawierają odniesienia do postów? Lub pliki, do których inne wtyczki prowadzą na różne sposoby?
Zrobiłem znaczną liczbę testów i z tego, co zebrałem, wszystkie odwołania do plików są przechowywane w formacie zwykłego tekstu (tj. Tylko komórka tabeli równa ścieżce pliku lub adresowi URL), w formacie HTML (tj. Treść postu), jako dane serializowane lub wreszcie jako obiekty JSON. Będziesz musiał przeskanować całą bazę danych i spróbować zgadnąć, jaki format jest używany w każdej komórce. Oczywiście mogą istnieć inne egzotyczne sposoby, w których niektóre wtyczki używają do przechowywania odniesień do swoich plików, ale można je obsługiwać tylko w poszczególnych przypadkach.
W związku z tym napisałem wtyczkę, która automatycznie to robi, ponieważ potrzebowałem jej na niektórych stronach internetowych naszych klientów i nazwałem ją Theia Upload Cleaner . Działa to dla mnie dobrze, ale oczywiście zawsze powinieneś wykonać kopię zapasową przed wypróbowaniem czegoś takiego.
źródło