Ich habe eine große Site für einen Client und da es sich um eine wirklich angepasste WordPress-Installation mit vielen Erweiterungen der Funktionalität handelt, kann ich die Caching-Plugins nicht verwenden.
Um die Leistung zu verbessern, habe ich einen Großteil der Website mithilfe von Transienten erstellt (z. B. Navigation, Google Maps mit allen Markierungen usw.) und den dynamischen Inhalt dynamisch belassen.
Das Problem hier ist, wenn ich etwas ändere, muss ich den spezifischen Übergang manuell löschen, um das aktuelle Ergebnis zu sehen. Die Seite zeigt verschiedene Menüs und Googlemaps, wenn sie von einem anderen Kanal aus eingegeben werden. Ich habe also zehn Transienten für jeden Bereich.
Würden Sie eine Funktion erstellen, bei der ich alle auf einmal lösche (mit einer Liste der Namen des Transienten), oder ist es in Ordnung, einfach alle Transienten auf der Site zu löschen?
Es ist nicht wirklich so dringend, aber für die zukünftige Entwicklung würde ich gerne wissen, ob Sie Probleme mit solchen Dingen hatten und wie Sie alle Ihre Transienten verwalten.
Prost, Fischi
Antworten:
Für die Entwicklung würde ich empfehlen, immer mit
WP_DEBUG
set to zu arbeitentrue
und Folgendes zu tun:Im Allgemeinen sollte das Löschen von Transienten in Ordnung sein, da davon ausgegangen werden sollte, dass sie sich nicht in der Datenbank befinden.
quelle
Sie sollten die verschiedenen Aktionen verknüpfen, die ausgeführt werden, wenn Dinge aktualisiert werden, um Transienten zu löschen und zu aktualisieren. Wenn beispielsweise das Navigationsmenü aktualisiert wird, wird die
wp_update_nav_menu
Aktion ausgelöst. Verknüpfen Sie eine Funktion damit, um den Übergang Ihres Navigationsmenüs vorübergehend zu aktualisieren .quelle
wp_update_nav_menu
Wäre es nicht besser, Ihre Entwicklung in einer Entwicklungsumgebung durchzuführen, damit die Notwendigkeit, Ihre Änderungen so zu sehen, wie sie vorgenommen werden, keine Auswirkungen auf die öffentliche Website hat?
Mit diesem Ansatz können Sie dann die Transienten in einer Zeit mit geringem Datenverkehr bereitstellen / in die Produktion befördern und spülen, ohne die Leistung der Site und die Benutzererfahrung zu beeinträchtigen.
quelle
been there and done that
zu der einen oder anderen Zeit.