Wersje wpisów w WordPressie

Wersja: 8 Przeglądaj
WordPress – wersje wpisów

WordPress przechowuje w bazie danych starsze wersje wpisów. Każdy wpis / szkic, jego automatycznie zapisana wersja, stare wersje są przechowywane w bazie danych.

System wersji pozwala zobaczyć jakie zmiany były wprowadzane we wpisie, porównać dwie wersje wpisu z oznaczeniem zmienionych fragmentów. Możliwe jest również przywrócenie starszej wersji wpisu.

Domyślnie przechowywane są wszystkie wersje wpisu, oraz jeden automatycznie zapisany szkic. Szkic zapisywany jest co 60 sekund, podczas edycji wpisu. Przechowywanie starszych wersji wpisu ma swoje plusy, jednak powoduje też wzrost rozmiaru bazy danych. Przykładowo mając 1000 wpisów, a w każdym po 10 wersji w bazie danych pojawia się 10 000 rekordów.

Aby sprawdzić łączną ilość starych wersji wszystkich wpisów wystarczy skorzystać z prostego zapytania SQL:

SELECT COUNT(*)
FROM wp_posts
WHERE post_type='revision'

Jeśli zmieniliśmy prefiks tabel WordPressa to nazwa tabeli zamiast zaczynać się od wp_ (wartość domyślna) będzie zaczynała się wystawionym wcześniej prefiksem.

Możemy również sprawdzić które posty maja największa liczbę zapisanych starych wersji:

SELECT post_title, COUNT(*)
FROM wp_posts
WHERE post_type='revision'
GROUP BY post_title
HAVING COUNT(*) > 5
ORDER BY 2 DESC

Powyższe zapytanie wyświetli wszystkie wpisy mające więcej niż 5 starych wersji.

Bardzo często poprzednie wersje wpisów nie są w ogóle potrzebne, a przynajmniej nie te starsze. Na szczęście WordPress umożliwia organicznie ilości przechowanych wersji wpisu. W tym celu w pliku wp-config.php należy dodać poniższy wpis:

define('WP_POST_REVISIONS', 2);

Zamiast 2 można wpisać swoją wartość określająca maksymalną ilość wersji wpisu jaka ma być przechowywana:

  • true (wartośc domyślna), -1 – brak limitu,
  • false, 0 – nie przechowuj żadnej starej wersji wpisu (poza jednym automatycznie zapisanym szkicem),
  • liczba całkowita dodatnia – przechowuj dokładnie tyle starych wersji wpisu (plus jeden szkic). Nadmiarowe wersje są automatycznie kasowane.

W razie potrzeby za pomocą zapytania SQL można również skasować wszystkie stare wersje wpisów, poza automatycznie zapisanymi wpisami:

DELETE FROM wp_posts
WHERE post_type='revision'
AND post_name NOT LIKE '%-autosave-%'

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

To prevent spam, URLs are not allowed in comments. All comments are moderated and subject to approval.
Aby zapobiec spamowi, adresy URL nie są dozwolone w komentarzach. Wszystkie komentarze są moderowane i podlegają zatwierdzeniu.