Jedną z nowości w WordPressie 2.6 jest system rewizji. Dzięki niemu każda wersja wpisu jaką zapiszemy jest przechowywana w bazie i w łatwy (i przyjemny!) sposób możemy do niej powrócić lub porównać ją z inną.
Funkcja ta, bez wątpienia przydatna i pomysłowa (zaczerpnięta ze skryptów MediaWiki, z której korzysta m.in. Wikipedia), nie ma możliwości wyłączenia z poziomu panela administratora. Co więcej, niektórzy, upatrują w niej źródła nadmiernego generowania niepotrzebnej treści, która tylko zapycha bazę danych.
Powstaje więc pytanie…
Jak to cholerstwo wyłączyć?
Rozwiązania doszukałem się na blogu Lestera. Trzeba przyznać, że jest ono banalne i nie wymaga zbyt dużej znajomości programistycznej.
W pliku wp-config.php
(znajduje się w katalogu głównym WP) należy jedynie dodać nową linijkę, która wyłącza system rewizji:
define('WP_POST_REVISIONS', false);
Autor rozwiązania podaje jeszcze jedną czynność, dzięki której usprawnimy pozbędziemy się już zgromadzonych rewizji. Jest to polecenie, które należy wklepać w phpMyAdminie:
DELETE a,b,c
FROM wp_posts a
LEFT JOIN wp_term_relationships b ON (a.ID = b.object_id)
LEFT JOIN wp_postmeta c ON (a.ID = c.post_id)
WHERE a.post_type = 'revision'
Spowoduje ono usunięcie zaległych rewizji.
Aktualizacja #1 (09.09.2008, 09:05):
Zaktualizowałem polecenie SQL (dzięki Korasowi, który zwrócił na to uwagę).
Komentarze
Uuuu, dzięki wielkie :). Z pewnością się przyda na dwóch moich blogach – tam raczej czegos takiego nie trzeba, przydatne natomiast jest, jeśli na wordpressie postawiliśmy większą stronę, która jest redagowana przez większy zespół redakcjny.
odpowiedzJa na razie testuję system rewizji – w przypadku naprawy błędów spisuje się idealnie. Muszę jeszcze tylko sprawdzić jak faktycznie wygląda ta sprawa z rzekomym zapychaniem bazy danych.
odpowiedzProcz usuniecia tych postow, wypadaloby takze usunac ich powiazania z tagami i kategoriami w wp_term_relationships ;)
odpowiedz@Malcom,
odpowiedzSłuszna uwaga! Ktoś wie jak powinno wyglądać takie polecenie SQL?
A ja znalazłem takie rozwiązanie – http://lesterchan.net/wordpress/2008/07/17/how-to-turn-off-post-revision-in-wordpress-26/ . Włącznie z usunięciem syfu z bazy, wygenerowanego przez trefną nową funckję wordpress’a. Pozdrawiam! ;)
odpowiedzDzięki koras za zwrócenie na to uwagi :-). Poprawiłem powyższe instrukcje o zaktualizowane porady od Lestera.
odpowiedz[…] problemu znalazłem na blogu My Digital Life, ale wszystko opisane jest lepiej u Lestera Chana. Ninja na swoim blogu napisał mniej więcej to samo, ale po […]
odpowiedzJest już dostępna specjalna wtyczka, która wyłączy rewizje za nas: No Revisions.
odpowiedz[…] pory jest jedną z najbardziej znienawidzonych funkcji skryptu. Głównym powodem był brak możliwości wyłączenia systemu lub zmiany jego ustawień z poziomu panela […]
odpowiedzSzymon.. wtyczka wtyczka…. ale lepiej samemu zrobić… bo znowu kolejna wtyczka w Wp… ja mam ich juz w cholere :(…. co mi muli serwa choc mam wp-super-cache… to nie dziala mi to do konca tak jak powinno bo dziala jak wp-cache-2
odpowiedzkurcze powiem wam ze cos jeszcze nie tak
odpowiedzbo nie usunelo mi wszystkich rewizji z bazy.
a co najlepsze jak je proboje recznie ostatnie to w ogole nie hcce mi ich usunac… i w dodatku prawie baze stracilem. :( jaki error mi sie zrobil
na szczescie odzyskalem to ale blad zostal… pewnie dlatego mi muli to wszytsko :(
@Janusz,
Skoro Ci tak wszystko źle działa (i serwer i baza) to może coś jest nie tak z hostingiem?
odpowiedzWłaśnie zająłem się problemem zbyt dużej bazy spowodowanej przez system rewizji i postanowiłem go wyłączyć. Dodałem stałą do pliku konfiguracyjnego i próbowałem zastosować polecenie SQL, jednak to kończy się zwróceniem błędu: „1066 – Not unique table/alias: a”. Czy jest jakieś inne zapytanie, którego mógłbym użyć?
odpowiedzWyczyściłem sobie przed chwilą zaległe rewizje – kod jest w porządku więc nie mam pojęcia dlaczego wyskakują Ci błędy.
odpowiedzCóż, będę męczył hostingowca. Może to wina starej wersji MySQL (4.0.26). Dziękuję bardzo za chęci pomocy :)
odpowiedzNoo super sprawa. Mam bloga rok a już mi wyprodukował prawie 500 zbędnych rekordów. Ja tam nie lubię śmieci, więc z radością wyczyściłam bazę.
odpowiedzChcemy wiecej :D
odpowiedzŚwietny poradnik, 1500 wpisów z bazy poszło do śmietnika :)
odpowiedzJeśli komuś nie działa to trzeba też zwrócić uwagę na to, że baza może mieć inny przedrostek niż wp_
Dodaj własny komentarz
Odnośniki z innych stron
Lista innych stron, które w jakiś sposób odnoszą się do opublikowanej tutaj treści:
[…] problemu znalazłem na blogu My Digital Life, ale wszystko opisane jest lepiej u Lestera Chana. Ninja na swoim blogu napisał mniej więcej to samo, ale po […]
[…] pory jest jedną z najbardziej znienawidzonych funkcji skryptu. Głównym powodem był brak możliwości wyłączenia systemu lub zmiany jego ustawień z poziomu panela […]