publikacja: 22 lipca 2008, 12:18; autor: Szymon Skulimowski http://wpninja.pl/wordpress-26-jak-wylaczyc-system-rewizji/

WordPress 2.6 – jak wyłączyć system rewizji?

WordPress 2.6 – jak wyłączyć system rewizji?

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 (15)

  1. Wojciech Usarzewicz (23 lipca 2008, 16:35) #:

    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.

  2. Szymon Skulimowski (27 lipca 2008, 22:55) #:

    Ja 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.

  3. Malcom (5 września 2008, 14:53) #:

    Procz usuniecia tych postow, wypadaloby takze usunac ich powiazania z tagami i kategoriami w wp_term_relationships ;)

  4. Szymon Skulimowski (7 września 2008, 10:29) #:

    @Malcom,
    Słuszna uwaga! Ktoś wie jak powinno wyglądać takie polecenie SQL?

  5. koras (9 września 2008, 8:51) #:

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

  6. Szymon Skulimowski (9 września 2008, 9:13) #:

    Dzięki koras za zwrócenie na to uwagi :-). Poprawiłem powyższe instrukcje o zaktualizowane porady od Lestera.

  7. Szymon Skulimowski (16 października 2008, 20:56) #:

    Jest już dostępna specjalna wtyczka, która wyłączy rewizje za nas: No Revisions.

  8. Janusz.Lit (8 listopada 2008, 2:48) #:

    Szymon.. 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

  9. Janusz.Lit (8 listopada 2008, 3:25) #:

    kurcze powiem wam ze cos jeszcze nie tak
    bo 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 :(

  10. Szymon Skulimowski (3 grudnia 2008, 0:42) #:

    @Janusz,

    Skoro Ci tak wszystko źle działa (i serwer i baza) to może coś jest nie tak z hostingiem?

  11. Nievinny (16 grudnia 2008, 20:02) #:

    Wł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ć?

  12. Szymon Skulimowski (16 grudnia 2008, 20:32) #:

    Wyczyściłem sobie przed chwilą zaległe rewizje – kod jest w porządku więc nie mam pojęcia dlaczego wyskakują Ci błędy.

  13. Nievinny (16 grudnia 2008, 21:02) #:

    Cóż, będę męczył hostingowca. Może to wina starej wersji MySQL (4.0.26). Dziękuję bardzo za chęci pomocy :)

  14. JoShiMa (25 lutego 2009, 15:02) #:

    Noo 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ę.

  15. zajefajnyx (23 listopada 2009, 22:06) #:

    Chcemy wiecej :D

Dodaj własny komentarz

Odnośniki z innych stron (2)

Lista innych stron, które w jakiś sposób odnoszą się do opublikowanej tutaj treści:

  1. Lokomobila.org » Jak wyłączyć rewizje postów w Wordpress

    [...] 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 [...]

  2. 3 wtyczki do ujarzmiania systemu rewizji

    [...] 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 [...]