So deaktivieren Sie REVISIONS und AUTOSAVE ordnungsgemäß für die gesamte Website und optional nur für einen benutzerdefinierten Beitragstyp

13

Gibt es eine Hook- / Funktionskombination, die zu meinen Themes hinzugefügt werden functions.phpkann, um REVISIONS und AUTOSAVE für die gesamte WordPress-Installation ordnungsgemäß zu deaktivieren? Was ist, wenn nur für einen bestimmten benutzerdefinierten Beitragstyp? Die Online-Suche bietet verschiedene Möglichkeiten, von der Abmeldung von Skripten bis zur Manipulation von Kerndateien. Was ist der akzeptable / richtige Weg, um dies zu tun?

Ana Ban
quelle
Hier ist eine bessere Lösung : stackoverflow.com/a/30821376/2377343
T.Todua
Wie deaktiviere ich die Post-Revision auf der wordpress.com-Website?
Santosh Kumar

Antworten:

16

Dies sollte in Ihrem wp-config.php(und nirgendwo anders) platziert werden:

define( 'AUTOSAVE_INTERVAL', 60*60*60*24*365 ); // Set autosave interval to 1x per year
define( 'EMPTY_TRASH_DAYS',  0 ); // Empty trash now: Zero days
define( 'WP_POST_REVISIONS', false ); // Do not save andy revisions
Kaiser
quelle
Update: Wenn ich die AUTOSAVE_INTERVALZeile hinzufüge , wird auf der Post-Editor-Seite ständig eine Javascript-Anweisung ausgeführt, mit der die Schaltflächen [Update] (und [Entwurf speichern] für einen neuen Beitrag) aktiviert / deaktiviert werden, wodurch sich letztendlich auch für alle meine anderen Browser-Registerkarten eine Menge ergibt weniger reaktionsschnell (gchrome18). hmm ... gedanken?
Ana Ban
Ja, das bedeutet (wahrscheinlich), dass ständig Updates durchgeführt werden. Versuchen Sie es zu ändern 20000000000, was etwas mehr als ein Jahr sein sollte.
Kaiser
Deaktiviert dies das Autosave-Plugin von tinyMCE? Sieht so aus, als würde nur ein großes Intervall festgelegt.
Michael Rogers
@ Michael Rogers Nun, wenn Sie ein Jahr für nicht genug halten, versuchen Sie es ein Leben lang;)
Kaiser
1
@JossieCalderon Hängt davon ab, wo Sie dies eingestellt haben. A definekann nicht überschrieben werden. Schalten Sie daher die Fehlerberichterstattung ein und stellen Sie sicher, dass Sie sie in Ihrem Ordner ablegen wp-config.php.
Kaiser
0

Ich bin auch auf der Suche nach Möglichkeiten zum Deaktivieren der automatischen Speicherung. Aber hier ist, was mir in einem Trac-Ticket gesagt wurde :

Wenn Sie diese Funktion wirklich benötigen, sollten Sie die sequenziellen IDs selbst in einem benutzerdefinierten Feld verwalten und anschließend benutzerdefiniertes URL-Routing implementieren. Es sollte nicht zu schwer sein, das durchzuziehen.

Wikicms
quelle
hi @wikicms ich bin cool mit den ids, aber danke fürs posten. nützlich für jemanden da draußen, oder sogar für mich in der Zukunft.
Ana Ban
-2

Das Platzieren der Defines in wp-config.php ist in Ordnung, bis Sie WP_DEBUG einschalten und alle paar Minuten 'bereits definierte' PHP-Hinweise in der debug.log erhalten. Andere behaupten, die Platzierung dieser Definitionen über der ABSPATH-Definition würde helfen.

Ich kann jedoch kategorisch bestätigen, dass sich der beste Ort zum Ablegen Ihrer Definitionen in einem Plugin befindet, da die aktivierten Plugins vor den WP-Standarddefinitionen geladen werden.

Die Standarddefinitionen sind durch vorhandene Tests geschützt, daher haben die von Ihrem Plugin geladenen Definitionen Vorrang und verursachen weder einen Konflikt noch die sich wiederholenden PHP-Hinweise im Debug-Protokoll.

waverlyweb
quelle
1
Nein, wp-config.phpist der einzig richtige Ort. Wenn Sie Fehler erhalten, versucht ein fehlerhafter Code an einer anderen Stelle, ihn erneut zu definieren. Entfernen Sie diesen Code.
fuxia
@toscho Warum ist wp-config.phpder einzig richtige Ort? Können Sie näher darauf eingehen?
Jdevlin
2
@JamesDevlin Wartbarkeit und Debugging. Sie können dies in einer sehr kontrollierten Umgebung tun, aber wenn beim Einfügen Fehler auftreten wp-config.php, ist etwas anderes kaputt. Das Verschieben der Definitionen ist keine Lösung.
fuxia