Pisze do mnie kolega, że na swojej stronie (tak, wersja produkcyjna, nie jakaś testowa) zainstalował pewną wtyczkę, zaimportował do niej w ramach testów kilkaset rekordów, pobawił się, uznał, że jest OK, więc pora wywalić rekordy testowe i wprowadzić docelowe. Problem tylko w tym, że wtyczka nie ma opcji kasowania wielu rekordów naraz, tak samo, jak nie ma opcji kasowania danych przy dezinstalacji, co oczywiście kolega przetestował. I tak trafił z zapytaniem do mnie…
Usuwanie nieużywanych typów postów w WordPressie
Teoretycznie w WordPressie jest kilka metod pozwalających wywalić śmieci – czy to testowe, czy zalegające po kiedyś używanych wtyczkach, które same w sobie nie posiadają funkcji, która by po nich sprzątała. Czasem wystarczy skasować tabelę w bazie danych, która jest na tyle charakterystyczna z nazwy, że nie mamy wątpliwości, że kasujemy dobre dane.
W przypadku, gdy wtyczka tworzy dodatkowy typy postów, można też skorzystać z funkcji takich jak unregister_post_type(), wp_delete_post(), ale raz, że to nie zawsze działa, a do tego nie zawsze łatwo określić jaki „post” usunąć. A pomyłka może być bolesna.
Dlatego ja zazwyczaj w takich sytuacjach idę na łatwiznę, i korzystam z gotowca, czyli wtyczki Custom Post Type Cleanup (keesiemeijer), która robi dokładnie to, co powinna, czyli kasuje nieużywane typy postów.
Nieprzypadkowo napisałem „nieużywane typy postów”, bo na liście do usunięcia pojawią się tylko te typy, które nie są zarejestrowane jako aktualnie używane, np. przez jakąś aktywną (włączoną) wtyczkę. Ma to sens, bo w jakimś sensie zabezpiecza przed przypadkowym skasowaniem istotnych danych. Choć może dobrze byłoby dodać jakąś informację, jakby ktoś nie skojarzył, że „unused” to nieużywane, a jak nieużywane, to wtyczka, która wygenerowała dane, musi być przynajmniej wyłączona.
Gdybyśmy jednak mieli wątpliwości, czy usuwać dane, czy nie (przypominam, że wtyczka pozwala usuwać tylko te typy postów, które nie są zarejestrowane jako używane, a więc nie korzysta z nich żadna wtyczka czy moduł) wtyczka daje też możliwość podglądu niezarejestrowanych (nieużywanych) wpisów przed decyzją, czy na pewno chcemy je skasować:
W każdym razie polecam zrobić kopię zapasową, i sprawdzić, czy i jak dużo tego typu zbytecznych śmieci zalega na stronie. Można się zdziwić, zwłaszcza gdy strona działa od dawna, a do tego przeżyła różne wtyczki w swojej historii… ;-)
- Wakacje składkowe ZUS a zawieszenie działalności gospodarczej, czyli uważaj, bo być może nie będziesz mógł skorzystać (w 2024) - 1970-01-01
- Przykładowy kalkulator wyceny usługi druku 3D, czyli nie tylko materiał się liczy - 1970-01-01
- Home Assistant 2024.10, czyli nowa karta „nagłówek” i niedziałający TTS w ramach usługi Google Cloud - 1970-01-01
Jak okazało się, mam tyle tego śmieci na stronie. :)
Przydał by się jakiś podgląd, bo niektóre nazwy nic nie mówią.
Zaktualizowałem artykuł, by pokazać, że/jak za pomocą tej wtyczki można podejrzeć zawartość nieużywanych (niezarejestrowanych) typów postów przed podjęciem decyzji o tym, czy na pewno chcemy je skasować, czy może w przyszłości mogą nam się te dane jeszcze przydać (np. jakaś wtyczka aktywna sezonowo).
A jest coś godnego uwagi, do przeglądu zarejestrowanych i aktywnych – najlepiej z info co je rejestruje/aktywuje.
Z wtyczek to może Query All The Post Types, choć nie wiem, czy to będzie wystarczający poziom szczegółowości dla Ciebie, ale zawsze to jakiś punkt wyjścia dla dalszych poszukiwań.
Po posprzątaniu, gdy wtyczka już niema żadnych akcji sama proponuje swoją deaktywację :)
Do tego momentu chyba nigdy nie doszedłem, bo zawsze mam jakieś „sezonowe” wtyczki, które mają swoje typy postów.