✅ WEB- und WordPress-Nachrichten, Themen, Plugins. Hier teilen wir Tipps und beste Website-Lösungen.

WordPress-Widgets: Refactoring, Teil 10

6

Was das WordPress-Widget-Boilerplate-Refactoring angeht, sind wir an einem guten Ort. Es wurde viel Arbeit geleistet, damit die Einführung neuer Klassen, Features und Funktionen viel einfacher sein sollte.

Und nicht nur das: Es soll leichter nachzuvollziehen sein.

Dank der Arbeit im letzten Beitrag haben wir noch viel Arbeit, auf der wir aufbauen können – nämlich eine grundlegende Verwaltungsschnittstelle.

Schließlich hieß es im letzten Post:

In den nächsten Artikeln wird sich dies weiterentwickeln, aber wie Sie sehen können, stellen wir sicher, dass wir eine einzige Basisklasse für die Funktionalität für die Kommunikation mit WordPress und eine Klasse speziell für die Darstellung des Verwaltungsformulars haben.

Und genau da werden wir in diesem Artikel ansetzen. Insbesondere werden wir uns mit der Bereinigung und Serialisierung der Daten sowie dem Abrufen der im Widget gespeicherten Daten befassen.

Das WordPress-Widget Boilerplate: Refactoring Teil 10

Refactoring der Benutzeroberfläche

Bevor wir uns mit der Serialisierung befassen, gibt es einige kleinere Arbeiten, die wir an unserer Verwaltungsansicht vornehmen müssen. Erinnern Sie sich an frühere Posts in der Serie, dass wir ein Formular erstellt haben, das Folgendes akzeptiert:

  • ein Titel,
  • einige Inhalte,
  • und ein Kontrollkästchen.

Dies wird problemlos angezeigt, schließt jedoch einige Schlüsselfunktionen der Widgets-API aus. Wir müssen nämlich sicherstellen, dass wir unsere Elemente mit den folgenden Funktionen richtig benennen:

Und dann schreiben wir unsere Funktion, die einfach get genannt wird, was ich gleich erklären werde.

Die oben genannten Funktionen sind notwendig, da sie WordPress dabei helfen, den Überblick darüber zu behalten, wie viele Instanzen des Widgets verwendet werden und welche der Benutzer bearbeitet. Mit anderen Worten, wir bekommen viele Funktionen kostenlos.

Bevor ich Ihnen den Code zeige, möchte ich kurz auf den Zweck der get – Funktion eingehen, die wir einführen werden. Kurz gesagt, es ist eine Möglichkeit für uns, einen Schlüssel (wie den Schlüssel in einem Schlüssel/Wert-Paar) an eine Funktion zu übergeben und sie dann einfach einen Wert für uns abrufen zu lassen, damit unsere Schnittstelle so sauber wie möglich bleibt.

Also zuerst die get-Methode :

Es ist wichtig zu beachten, dass diese Methode nicht nur den Schlüssel für den Wert akzeptiert, den wir lesen, sondern auch ein Array, das auf die Instanz des Arrays verweist.

Und jetzt die umgestaltete Benutzeroberfläche :

Aber dies lässt immer noch Funktionalität fehlen und lässt uns Arbeit übrig. Wir müssen nämlich die Daten bereinigen und an WordPress zurückgeben, damit es die Daten speichert.

Bereinigung und Serialisierung

Für die Zwecke unseres Beispiels werden wir sehr streng sein, was wir zulassen. Wir werden nämlich nur einfachen Text unterstützen und alles aggressiv entfernen.

Das bedeutet, dass wir kein Markup oder ähnliches zulassen werden. Stattdessen werden wir alles entfernen, was kein einfacher Text ist. Wir können es ein wenig dekorieren, wenn es an der Zeit ist, es im Frontend anzuzeigen, aber wir verschieben das auf den entsprechenden Beitrag.

Dazu verwenden wir die folgenden Funktionen:

Denken Sie daran, dass wir zwei Felder in unserem Widget haben – das Titelfeld und das Inhaltsfeld. Abhängig von der Art des Widgets, das Sie erstellen, benötigen Sie möglicherweise nur eine einzige Klasse oder Funktion, um die Daten zu bereinigen. In anderen Situationen benötigen Sie möglicherweise etwas Komplexeres.

Denken Sie daran, wenn wir diesen Code durchgehen, da dies keine Einheitslösung sein wird. Stattdessen wird es speziell dafür sein.

Wie auch immer, um die Daten zu bereinigen, schreiben wir eine Klasse speziell für diesen Zweck und stellen sie dann unserer WidgetAdmin-Klasse zur Verfügung.

Hier ist die Klasse in ihrer Gesamtheit mit einer folgenden Beschreibung:

Die Klasse sollte direkt sein. Es nimmt die eingehenden Werte des Widgets auf, bereinigt sie und gibt dann ein neues Array zurück, das an WordPress zurückgegeben wird.

Es gibt jedoch einen Haken. Diese Klasse muss eine Eigenschaft der Haupt- Widget -Klasse sein, die im letzten Beitrag gezeigt wurde.

Zweitens ruft die Update -Methode, die Teil der Widgets-API ist, diese Klasse auf. Es ist nicht erforderlich, die $oldInstance- Variable an den Serializer zu übergeben, sie ist jedoch für die Update-Methode erforderlich.

Hier ist die Widget -Klasse, wie sie derzeit erstellt wird :

Wenn Sie die Seite jedoch aktualisieren, stellen Sie möglicherweise fest, dass die Bereinigung und Serialisierung beim Abrufen der Daten nicht zu funktionieren scheinen. Und dem gehen wir im nächsten Beitrag nach.

Abrufen von Daten

Beachten Sie, dass, obwohl die Funktionalität dafür unvollständig zu sein scheint (da die nicht bereinigten Daten immer noch angezeigt werden), wir uns darauf konzentrieren, sicherzustellen, dass wir Klassen mit Zusammenhalt und Verantwortung schreiben und die nicht eng miteinander verbunden sind.

Wir werden dies im nächsten Beitrag ein wenig mehr wiederholen. Studieren Sie also den obigen Code, implementieren Sie ihn, wenn Sie das getan haben, und wir werden im nächsten Beitrag von dort aus weitermachen.

Aufnahmequelle: tommcfarlin.com

Diese Website verwendet Cookies, um Ihre Erfahrung zu verbessern. Wir gehen davon aus, dass Sie damit einverstanden sind, Sie können sich jedoch abmelden, wenn Sie möchten. Annehmen Weiterlesen