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… ;-)

(!) Zgłoś błąd na stronie

Patryk

CEO Webinsider.pl, a do tego CTO, CIO, CFO, CMO, CSO, COO i CRO ;-)
Pasjonat nowych technologii - od sprzętu po oprogramowanie, od serwerów po smartfony i rozwiązania IoT. Potencjalnie kiepski bloger, bo nie robi zdjęć "talerza" zanim zacznie jeść.

Dumny przyjaciel swoich psów :-)