WordPress-Revisionsmanagement abschalten
Um besser gegen Browserabstürze und Verbindungsabbrüche gewappnet zu sein, verfügt WordPress seit Version 2.6 über eine automatische Speicherfunktion sowie ein automatisches Revisionsmanagement.
Wie der WordPress Codex erklärt, wurden zwar entsprechende Optionen zum an- bzw. ausschalten des Revisionsmanagements integriert und es existieren auch API-Funktionen zum Aufräumen, diese wurden jedoch nicht in die Oberfläche integriert.
Im normalen Betrieb macht sich das Revisionsmanagement besonders durch eine stetig und schnell wachsende Datenbank bemerkbar - alleine vom Artikel “My Book Essential – virtuelles CD-Rom loswerden” finden sich nach Veröffentlichung ingesamt neun Revisionen.
Wer das Revisionsmanagement nicht benötigt, kann dieses - am besten noch vor Erstellen des ersten Artikels - mittels der Option ‘WP_POST_REVISIONS’ in der Datei ‘wp-config.php’ abschalten:
define('WP_POST_REVISIONS', false);
Wer bereits mit eingeschaltetem Revisionsmanagement gearbeitet hat, sollte nach dem Abschalten die Datenbank aufäumen.
Die Revisionen sind - genau wie die “richtigen” Artikel in der Tabelle ‘wp_posts’ abgelegt und durch den post_status = ‘inherit’ sowie post_type = ‘revision’ gekennzeichnet. Einen Überblick über deren Anzahl verschafft das SQL-Statement
SELECT COUNT(*) FROM wp_posts WHERE post_status='inherit' AND post_type = 'revision';
Bevor es an das Löschen der Revisionen geht, sollte allerdings noch ein Blick auf die Tabellen ‘wp_postmeta’ sowie ‘wp_term_relationships’ geworfen werden, um hier keine Karteileichen zurückzulassen.
SELECT COUNT(*) FROM wp_posts, wp_postmeta
WHERE ID=post_id AND post_status='inherit' AND post_type = 'revision';
SELECT COUNT(*) FROM wp_posts, wp_term_relationships
WHERE ID=object_id AND post_status='inherit' AND post_type = 'revision';
Anschließend können - nach einer eventuellen Bereinigung der oben genannten Tabellen - die vorhandenen Revisionen entsorgt werden:
DELETE FROM wp_posts WHERE post_status='inherit' AND post_type = 'revision';
ich bin auf diesen Post gestoßen, weil ich nach einer Lösung für ein Datenbank-Problem suchte:
http://forum.wordpress-deutschland.org/konfiguration/89093-datenbank-viele-post_status-inherit-eintraege-images.html
Kannst du mir da vielleicht weiterhelfen? Danke…
Zudem: ich habe die Revisioins zwar in der config abgeschlatet, aber TROTZDEM schiebt er mir immer wieder auto-saves und revisions in die DB. Kann man das irgendwie verhindern?
zur ersten Frage habe ich spontan auch keine Idee.
Die Autosave-Funktion ist leider nicht so einfach abschaltbar, wie das Revisionsmanagement. Wie im oben verlinkten Artikel des WordPress-Codex nachzulesen ist, bleibt selbst nach dem Setzen von ‘WP_POST_REVISIONS’ auf ‘false’ trotzdem noch eine Revision für den Autosave übrig:
false, 0: do not store any revisions (except the one autosave per post)