Erstellen einer Begrüßungsseite für Ihr WordPress-Produkt Code Teil 1

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.

WP-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:

  • eine lokale Maschine oder ein Webserver
  • ein Demo-WordPress-Website-Dashboard

Plugin-Architektur

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:

  • WP-Welcome-Page-Boilerplate: Ordner, der unser Plugin enthält.
  • WP-Welcome-Page-Boilerplate /herzlich willkommen: Ordner für die Startseite.
  • WP-Welcome-Page-Boilerplate / welcome / img: Ordner für Bilder.
  • wp-welcome-page-boilerplate.php: Die Hauptplugin-Datei im Stammverzeichnis. Diese Datei ist für die Definition der globalen Konstanten verantwortlich und erfordert die Initialisierungsdatei, d. H. Welcome-init.php.
  • welcome-init.php: Die Initialisierungsdatei, die für drei Dinge verantwortlich ist: Hinzufügen eines Transienten, wenn das Plugin aktiviert wird, Löschen, wenn das Plugin deaktiviert wird, und schließlich das Hinzufügen der Logikdatei, d. H. Welcome-logic.php.
  • welcome-logic.php: Die Logikdatei, die für die sichere Umleitung der Begrüßungsseite, das Erstellen des Untermenüs für die Begrüßungsseite und das Hinzufügen der Anzeigedatei für die Begrüßungsseite, d. H. Welcome-view.php, verantwortlich ist.
  • welcome-view.php: Die View-Datei, die für die Anzeige der Begrüßungsseite zuständig ist und aus PHP und HTML besteht.
  • Es gibt optionale Ordner für Bilder und CSS, die entsprechend ihrem Zweck benannt werden.

Sie können den folgenden Screenshot anzeigen, um die Architektur zu überprüfen. 

Plugin-Workflow

Das Plugin funktioniert auf folgende Weise:

  • Fügt bei der Plugin-Aktivierung einen Übergang hinzu.
  • Löscht einen Übergang bei der Deaktivierung des Plugins.
  • Sichere Weiterleitung zur Begrüßungsseite.

Standard-Plugin-Basisdatei

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 lautet WPW, WordPress-Willkommen. Jede Konstante hat also ein Präfix von WPW_.

Die definierten Plugin-Konstanten sind:

  • WPW_VERSION: Plugin-Version
  • WPW_NAME: Plugin-Ordnername
  • WPW_DIR: Plugin-Verzeichnis
  • WPW_URL: Plugin-URL
  • WPW_PLUGIN_FILE: Plugin-Root-Datei

Sobald 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.

Willkommen Initializer

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.

Fazit

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.