Beim Erstellen einer Webanwendung mit WordPress bieten die leistungsstarken APIs eine große Hilfe. Das Hinzufügen oder Abrufen von Daten mit der Options-API ist keine große Sache. Manchmal müssen wir jedoch temporäre Daten mit Ablaufzeit speichern.
WordPress bietet eine intuitive Zwischenspeicherung über Transienten, um genau dies zu tun, d. H. Temporäre Daten mit Ablaufzeit zu speichern. Wir werden Transienten verwenden, also dachte ich mir, warum wir uns die WordPress Transients API in diesem Artikel nicht neu ansehen.
Laut dem WordPress-Codex:
Die Transienten-API ist der Options-API sehr ähnlich, verfügt jedoch über die zusätzliche Funktion einer Ablaufzeit, die die Verwendung der API vereinfacht wp_options Datenbanktabelle, um zwischengespeicherte Informationen vorübergehend zu speichern.
Transienten bieten im Rahmen dieser Serie eine effiziente Möglichkeit, Benutzer auf die Begrüßungsseite umzuleiten, wenn sie ein Plugin aktivieren, indem sie temporäre Daten speichern.
In diesem Artikel untersuchen wir das Konzept der Transienten-API in WordPress und wie es sich von der Options-API unterscheidet. Also, lass uns dazu kommen.
Transienten bieten uns die Möglichkeit, zwischengespeicherte Informationen vorübergehend zu speichern, indem ein benutzerdefinierter Name (Schlüssel-Wert-Paare) und eine Ablaufzeit angegeben werden. Sobald der definierte Zeitraum abgelaufen ist, verfallen die Transienten und werden gelöscht. Diese Transienten verbessern die Leistung und beschleunigen die Gesamtleistung der Web-App.
Es stellt sich jedoch eine Frage: Ist die Ablaufzeit der einzige Grund dafür? mit der WP Transient API?
Die Antwort ist nein! Trotz der Tatsache, dass die Options-API den gleichen Zweck der Speicherung, Desinfektion und des Abrufs von Daten erfüllt, bietet sie möglicherweise nicht die bestmögliche Leistung bei großen Datensätzen.
Durch das Hinzufügen von Zeitrahmen werden Transienten zur angemessensten Art, Daten temporär zu speichern. Um eine geringere Anzahl von Webabfragen sicherzustellen, können Transienten Daten im schnellen Speicher speichern, z. Memcached anstelle der herkömmlichen WordPress-Datenbank. Bemerkenswert ist auch, dass Transienten von Natur aus durch das Zwischenspeichern von Plugins beschleunigt werden, normale Optionen dagegen nicht. Wie im Kodex erwähnt:
Ein Memcached-Plugin würde beispielsweise WordPress vorübergehend in einem schnellen Speicher speichern anstatt in der Datenbank. Aus diesem Grund sollten Transienten zum Speichern von Daten verwendet werden, deren Ablauf voraussichtlich abläuft oder die jederzeit ablaufen können. Es darf auch nie davon ausgegangen werden, dass sich Transienten in der Datenbank befinden, da sie dort überhaupt nicht gespeichert werden können.
Wenn Sie also eine Funktionalität benötigen, die nach einer bestimmten Zeit abläuft oder gelöscht wird, verwenden Sie Transienten anstelle von Optionen. Dazu später mehr.
Transienten arbeiten mit einer unglaublich einfachen Schnittstelle. Sie können drei grundlegende Funktionen mit ihnen ausführen:
set_transient ()
Funktionget_transient ()
Funktiondelete_transient ()
FunktionDiese drei grundlegenden Vorgänge können Ihnen dabei helfen, die Web-Performance zu beschleunigen.
Verwenden Sie die set_transient ()
Funktion zum Erstellen oder Aktualisieren von Transienten. Die Funktion hat drei Parameter:
Schnur
) Name des Transienten. Darf nicht länger als 172 Zeichen sein.gemischt
) Es sind die Daten, die gespeichert werden müssen. Kann eine PHP-Variable oder ein Array-Objekt sein.int
) Maximale Zeit bis zum Ablauf in Sekunden. Standardwert 0 (kein Ablaufdatum).Punkt zum Nachdenken: Das von Ihnen eingestellte Ablaufdatum ist die maximale Zeit, für die ein Transient gespeichert wird. Nach dieser Zeit wird der Transient gelöscht. Es kann aber auch vor diesem Zeitpunkt gelöscht werden. Da es Teil des Caches ist, kann es vor diesem Zeitpunkt vom Benutzer gelöscht werden. Denken Sie also immer an die Ablaufzeit als die maximale Zeitdauer eines Übergangs, nur mit der Garantie, dass diese danach gelöscht wird.
Die ersten beiden Parameter sind die Schlüsselwert Paar und sind obligatorisch, während der dritte Parameter, der die maximale Ablaufzeit definiert, optional ist.
Ein praktisches Beispiel für den Aufruf dieser Funktion ist wie folgt:
Im obigen Beispiel habe ich 60 Sekunden als dritten Parameter hinzugefügt, der die Ablaufzeit definiert, nach der der Transient gelöscht wird. Gemäß obigem Beispiel das Objekt _welcome_redirect_wpw
kann nur das maximale Alter von 60 Sekunden haben.
In WordPress 3.5 wurden verschiedene Konstanten eingeführt, um die Zeit einfach auszudrücken. Diese Konstanten machen den Code umfassender und präziser. Hier ist die Liste:
MINUTE_IN_SECONDS = 60 (Sekunden) HOUR_IN_SECONDS = 60 * MINUTE_IN_SECONDS DAY_IN_SECONDS = 24 * HOUR_IN_SECONDS WEEK_IN_SECONDS = 7 * DAY_IN_SECONDS YEAR_IN_SECONDS = 365 * DAYAY
Nach dem Speichern eines Wertes über die set_transient ()
Funktion können Sie den Wert abrufen, indem Sie die get_transient ()
Funktion.
Es erfordert einen einzelnen Parameter, den Schlüssel (d. H. Den Namen) des Transienten vorübergehend
, und gibt den (Typ gemischt
) Wert des Transienten.
Das Standardformat ist:
In unserem Beispiel wird der Wert abgerufen über:
Ziemlich einfach? Aber was würde passieren, wenn der Übergang nicht existiert oder abgelaufen ist? Wenn das der Fall ist, dann die get_transient ()
Funktion gibt a zurück falsch
Wert.
Ich empfehle die Verwendung des Identitätsoperators (===
) wenn Sie den Wert eines Transienten erhalten, um zu testen, ob er falsch ist oder nicht.
$ a === $ b | Identisch | WAHR wenn $ a gleich $ b ist und sie vom selben Typ sind. |
Es kann Situationen geben, in denen Sie die Transienten möglicherweise löschen möchten, bevor sie ablaufen. Das delete_transient ()
Funktion hilft Ihnen dabei. Das Format ähnelt dem get_transient ()
Funktion.
Es erfordert einen einzelnen Parameter, den Schlüssel (d. H. Den Namen) des Transienten vorübergehend
, und löscht den Transienten dauerhaft.
Hier ist das allgemeine Format:
In unserem Fall können wir es so löschen:
Transienten können verwendet werden, um alles vom einfachsten Datentyp bis zu einem kompletten Widget zwischenzuspeichern. Seit ihrer Einführung wurden Transienten in verschiedenen Webprojekten verwendet. Hier einige praktische Verwendungen von Transienten:
Wir sind alle mit den Grundlagen der WordPress Transients API fertig. In den nächsten beiden Artikeln werde ich eine Startseite für ein WordPress-Plugin erstellen. Ich werde meine groben Gedanken in etwas sinnvoller und praktischer umsetzen.
Schließlich können Sie alle meine Kurse und Tutorials auf meiner Profilseite abrufen und Sie können mir auf meinem Blog folgen und / oder Twitter @mrahmadawais erreichen, wo ich über Entwicklungsworkflows im Zusammenhang mit WordPress schreibe.
Zögern Sie nicht wie üblich, Fragen oder Kommentare zu hinterlassen, und ich bemühe mich, auf jeden von ihnen zu antworten.