WordPress: Konfiguracja historii wpisów

Jak wiecie, Wordpress oferuje ciekawą opcję jaką jest przeglądanie historii wpisów. Dzięki tej funkcji, jeśli użytkownik wprowadził jakieś zmiany w treści wpisu,  może podejrzeć kopie poprzednich wersji wpisów i np. odzyskać treść którą przypadkiem usunął.

Całkiem fajna opcja, ale ma swoje minusy… Każda przechowana wersja wpisu zajmuje miejsce w bazie danych. W pewnym momencie może się zrobić spory bałagan, a przy dużych blogach, przy których autorzy treści często modyfikują swoje wpisy, może to znacznie ukrócić wolne miejsce w bazie danych.

Na szczęście opcja ta jest w pełni konfigurowalna! Wystarczy w pliku wp-config.php wprowadzić poniższą linijkę:

Jako parametr należy wprowadzić jedną z poniższych opcji:

  • true – przechowuje wszystkie wersje wpisów
  • false – nie przechowuje żadnych wersji wpisów (przechowywana jest tylko jedna wersja która jest automatycznie zapisywana co minutę – kopia bezpieczeństwa)
  • wprowadzić liczbę całkowitą większą od zera  – określa ile wersji wpisów ma być przechowywane (+1 wersja kopii bezpieczeństwa)

Tak więc jeśli chcemy przechowywać tylko 2 wersje wpisów, użyjemy poniższego kodu:

Można też użyć filtru wp_revisions_to_keep. W pliku functions.php wybranego motywu, należy użyć poniższego kodu (kod ten można też użyć we wtyczce):

Pierwszy parametr filtru określa ilość wersji do przechowywania, drugi parametr jest obiektem WP_POST  przechowującym informacje o wpisie. Dzięki temu, możemy określić dla poszczególnych typów postu ile wersji ma być przechowywanych, np. Standardowy post będzie przechowywał 5 wersji. Jeśli mamy utworzone własne typy wpisów, możemy określić ilość kopii także dla tych typów.

Istnieje też inna możliwość, dla osób które nie chcą zbytnio ruszać kodu – można skorzystać z przygotowanej w tym celu wtyczki, np. Revisioner, która posiada wizualny interfejs.

P.S. Dla przykładu, ten wpis ma obecnie 7 swoich wersji w bazie i z każdą poprawą literówki liczba ta rośnie… Piszę o rozwiązaniu, a sam nie mam czasu na wykorzystanie go w swoim przypadku 🙂