Erstellen einer Begrüßungsseite für Ihr WordPress-Produkt WP Transients API

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-API

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 verwenden

Transienten arbeiten mit einer unglaublich einfachen Schnittstelle. Sie können drei grundlegende Funktionen mit ihnen ausführen:

  • Erstellen / Aktualisieren eines Transienten über die set_transient () Funktion
  • Abrufen eines Transienten über die get_transient () Funktion
  • Löschen eines Transienten über die delete_transient () Funktion

Diese drei grundlegenden Vorgänge können Ihnen dabei helfen, die Web-Performance zu beschleunigen.

1. Transient erstellen / aktualisieren

Verwenden Sie die set_transient () Funktion zum Erstellen oder Aktualisieren von Transienten. Die Funktion hat drei Parameter:

  • Schlüssel: (Art Schnur) Name des Transienten. Darf nicht länger als 172 Zeichen sein.
  • Wert: (Art gemischt) Es sind die Daten, die gespeichert werden müssen. Kann eine PHP-Variable oder ein Array-Objekt sein.
  • Ablauf: (Art 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:

Zeitkonstanten in Transienten

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

2. Transient abrufen

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.

3. Löschen eines Transienten

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:

Die Verwendung von Transienten

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:

  • Sie können sie natürlich auf einer Begrüßungsseite Ihres Plugins verwenden, die in dieser Reihe enthalten ist.
  • Sie können sie in einem Sidebar-Widget verwenden, das Daten wie Top-Blog-Kommentare, Posts usw. auflistet.
  • Sie können WordPress-Navigationsmenüs mit Transienten beschleunigen.
  • Sie können eine Tag-Cloud mit Transienten zwischenspeichern.

Fazit

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.