In den ersten beiden Artikeln dieser Serie habe ich darüber geschrieben, was Begrüßungsseiten sind und wie sie dazu beitragen, die Benutzererfahrung zu verbessern, indem die Punkte miteinander verbunden werden. Danach habe ich über die WordPress Transients API geschrieben, die ich beim Erstellen der Begrüßungsseite verwenden möchte.
Das Kodieren einer Startseite für Ihr WordPress-Plugin kann ein schwieriger Prozess sein. Das gesamte Konzept besteht darin, Benutzer auf eine bestimmte Seite umzuleiten, indem Transienten eingestellt und schließlich gelöscht werden. Beginnen wir mit dem Erstellen der Begrüßungsseite.
Ich baue eine Begrüßungsseite für WordPress in Form eines Plugins, das in Ihrem WordPress-Produkt verwendet werden kann. Die endgültige Form dieses Plugins befindet sich auf GitHub unter WP-Welcome-Page-Boilerplate-For-TutsPlus.
An dieser Stelle gehe ich davon aus, dass Sie Folgendes eingerichtet haben:
Ich werde ein einfaches Plugin erstellen, das eine Begrüßungsseite anzeigt, wenn ein Benutzer das Plugin installiert und aktiviert. Lassen Sie uns die Plugin-Architektur besprechen:
Sie können den folgenden Screenshot anzeigen, um die Architektur zu überprüfen.
Das Plugin funktioniert auf folgende Weise:
Beginnen wir unsere Diskussion mit dem Inhalt der Basisdatei wp-welcome-page-boilerplate.php
. Hier ist der vollständige Code:
Der PHPDoc-Header-Abschnitt des Plugins teilt WordPress mit, dass eine Datei ein Plugin ist. Die definierten Parameter geben an, wie mit den Daten umgegangen wird. Ein Header kann mindestens einen Plugin-Namen enthalten, aber mehrere Stücke können und sollten in der Regel enthalten sein. Informationen zu den Header-Anforderungen finden Sie im WordPress Plugin-Entwicklerhandbuch.
Der nächste Code führt eine Sicherheitsüberprüfung durch. Wenn jemand versucht, direkt auf diese Datei zuzugreifen, wird das ausgeführt
ABSPATH
check, der das Skript beendet, wenn von außerhalb von WordPress darauf zugegriffen wird.Danach sieht der Code so aus:
// Plugin-Version. if (! defined ('WPW_VERSION')) define ('WPW_VERSION', '1.0.0'); // Name des Plugin-Ordners. if (! defined ('WPW_NAME')) define ('WPW_NAME', trim (dirname (plugin_basename (__FILE__)), '/')); // Plugin-Verzeichnis einschließlich des Ordners. if (! defined ('WPW_DIR')) define ('WPW_DIR', WP_PLUGIN_DIR. '/'. WPW_NAME); // Plugin-URL, einschließlich des Ordners. if (! defined ('WPW_URL')) define ('WPW_URL', WP_PLUGIN_URL. '/'. WPW_NAME); // Plugin-Stammdatei. if (! defined ('WPW_PLUGIN_FILE')) define ('WPW_PLUGIN_FILE', __FILE__);Ich habe ein paar globale Konstanten definiert, die Details über die Version des Plugins, den Stammordner, die URL und die Hauptdatei des Plugins definieren.
Jedes davon enthält ein
if (! defined ())
Diese Anweisung hilft, Fehler aufgrund der Neudefinition einer globalen Konstante zu vermeiden. Ich empfehle, die globalen Konstanten mit Ihrem Paketnamen als Präfix zu definieren. Der Paketname in diesem Plugin lautetWPW
, WordPress-Willkommen. Jede Konstante hat also ein Präfix vonWPW_
.Die definierten Plugin-Konstanten sind:
WPW_VERSION
: Plugin-VersionWPW_NAME
: Plugin-OrdnernameWPW_DIR
: Plugin-VerzeichnisWPW_URL
: Plugin-URLWPW_PLUGIN_FILE
: Plugin-Root-DateiSobald alle diese Konstanten definiert sind, beginnen wir mit dem Inhalt unserer Begrüßungsdatei.
Schließlich brauchte ich den Begrüßungsinitialisierer und die Begrüßungslogik.
if (file_exists (WPW_DIR. '/welcome/welcome-init.php')) required_once (WPW_DIR. '/welcome/welcome-init.php'); if (file_exists (WPW_DIR. '/welcome/welcome-logic.php')) required_once (WPW_DIR. '/welcome/welcome-logic.php');
Ich mag es, meinen Code minimal, präzise und gut dokumentiert zu halten. Anstatt jeden Codeblock in einer einzigen Datei hinzuzufügen, ziehe ich es vor, einzelne Dateien mit nur einem Zweck zu erstellen. Aus diesem Grund haben wir eine Initialisierungsdatei, die alles initialisiert, was mit der Willkommensseite zusammenhängt.
Das einmalig benötigt()
Aussage erfordert die welcome-init.php
Datei, aber bevor ich eine Datei benötige, überprüfe ich sie immer mit der Datei existiert()
PHP-Funktion, um schwerwiegende Fehler zu vermeiden, falls die Datei gelöscht wird.
Die gleichen Prinzipien gelten für die Willkommenslogik, auf die wir später im nächsten Teil der Serie noch näher eingehen werden.
Sie können den endgültigen Code des überprüfen wp-welcome-page-boilerplate.php
Datei auf GitHub.
Um alle Dateien auf der Begrüßungsseite zu verwalten, habe ich einen separaten Ordner mit dem Namen erstellt herzlich willkommen und fügte ein welcome-init.php
Datei. Der gesamte Code dieser Datei steuert die Initialisierung der Willkommensseite.
Studieren Sie den vollständigen Code dieser Datei:
Der Code beginnt mit einer Inline-Dokumentation zur Datei und einem
ABSPATH
prüfen. Nun brauchte ich eine Möglichkeit, den Transienten hinzuzufügen und zu löschen, wenn das Plugin aktiviert bzw. deaktiviert ist.Glücklicherweise liefert uns WordPress zwei Haken für genau diesen Zweck.
register_activation_hook (String $ file, aufrufbare $ function)
: Dieser Hook wird ausgelöst, wenn das Plugin aktiviert wird. Es benötigt die Haupt-$ -Datei des Plugins und eine aufrufbare $ -Funktion als Parameter.register_deactivation_hook (String $ file, aufrufbare $ function)
: Dieser Hook wird ausgelöst, wenn das Plugin deaktiviert wird. Es benötigt die Hauptdatei $ des Plugins und eine aufrufbare Funktion $ als Parameter.Jetzt müssen wir diese Haken verwenden. Ich habe einen Transienten für die Begrüßungsseite erstellt. Das set_transient ()
Funktion wird innerhalb des Customs aufgerufen wpw_welcome_activate ()
Funktion. Im vorigen Artikel haben wir gelernt, dass die einstellen
Operation dauert a Schlüssel, Wert und ein Ablaufzeit als seine Parameter.
Daher der Schlüssel _welcome_redirect_wpw
ist auf einen Wert gesetzt wahr
zum 60
Sekunden. Dies definiert das maximale Alter, nach dem der Übergang abläuft.
Als nächstes ist der Aktivierungs-Hook, und wie wir wissen, wird dieser Hook nur ausgeführt, wenn ein Plugin aktiviert ist. Es fügt unseren Übergang in die Datenbank ein. Sobald sich der Transient in der Datenbank befindet, können wir ihn überprüfen und den Benutzer auf unsere Begrüßungsseite weiterleiten. Wie kann der Benutzer umgeleitet werden? Das werden wir im nächsten Artikel studieren.
Danach habe ich den Code geschrieben, der bei Deaktivierung des Plugins läuft. Wir möchten eine Funktionalität, bei der der Transient gelöscht wird, wenn ein Benutzer das Plugin deaktiviert. Dafür rief ich an delete_transient ()
Funktion, die den Schlüssel übernimmt _welcome_redirect_wpw
als dessen Parameter. Dann ist da noch der wpw_welcome_deactivate ()
Funktion, die dem Deaktivierungshaken des Plugins hinzugefügt wird.
Dieser Teil ist optional, aber ich möchte, dass meine Benutzer die Begrüßungsseite sehen, wenn sie das Plugin aktivieren. Wenn Sie dies nicht tun, können Sie das Löschen Ihres Transienten definitiv ignorieren.
Bisher habe ich den Teil des Codes besprochen, der zum Erstellen und Löschen eines Transienten erforderlich ist. Es fehlt jedoch immer noch der Code für die Begrüßungslogik, der die Benutzer zur Begrüßungsseite weiterleiten würde. Wir werden das als nächstes angehen.
Das ist es für heute. Wir sind also auf halbem Weg. Die Basisdatei und der Initialisierer für unsere Willkommensseite sind fertig. Jetzt müssen wir die Logik erstellen und die Dateien anzeigen. Dies ist der Plan für den nächsten Artikel.
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.