Verwaltbare WordPress-Themes schreiben Tools

In dieser Serie haben wir über eine Reihe von Vorgehensweisen gesprochen, die wir in unserer WordPress-Theme-Entwicklung anwenden können, die nicht nur eine konsistente Grundlage bilden, auf der wir unsere bestehenden und zukünftigen Projekte aufbauen können, sondern uns auch helfen wird pflegen sie, nachdem sie freigelassen wurden.

Bis zu diesem Punkt haben wir Folgendes behandelt:

  1. Verzeichnisse
  2. Regeln der Namensgebung

Bevor ich in diesen Artikel eintauche, empfehle ich Ihnen, die ersten beiden zu lesen, damit Sie einen Eindruck von der Perspektive bekommen, die wir uns bei der Themenentwicklung anschauen. Neben diesen Punkten gibt es auch eine Reihe von Tools, die meiner Meinung nach installiert werden sollten, um sicherzustellen, dass wir den bestmöglichen Code schreiben.

Dies ist natürlich nicht nur eine Ergänzung zu den zuvor genannten Tipps, sondern auch die Anwendung der WordPress-Codierungsstandards.

In diesem letzten Artikel werde ich über verschiedene Einstellungen und Plugins sprechen, in denen ich denke, dass sie definiert und / oder installiert werden sollten jeden WordPress-Entwicklungsumgebung, um sicherzustellen, dass Sie die aktuellsten APIs verwenden, die Leistung nicht negativ beeinflusst werden und dass keine Benachrichtigungen, Warnungen oder Fehler über PHP ausgelöst werden.

die Einstellungen

Bevor wir uns mit verschiedenen verfügbaren Plugins beschäftigen, sollten Sie einige Einstellungen auf Ihrem Webserver und in Ihrer WordPress-Umgebung empfehlen.

Einige dieser Einstellungen tragen zur Funktionalität von Plugins bei, die wir später in diesem Artikel betrachten werden, andere werden Funktionen bereitstellen, die uns warnen, wenn wir Fehler in PHP und / oder WordPress machen -spezifischer Code.

Webserver-Einstellungen

Obwohl nicht jeder mit Apache, PHP und MySQL arbeitet, ist dies wohl die häufigste Konfiguration, die bei der Arbeit mit WordPress verwendet wird. Ich empfehle den Entwicklern in dieser Umgebung immer, sicherzustellen, dass sie PHP für die Protokollierung konfiguriert haben alles zu einer Protokolldatei auf ihrem Computer.

Das heißt, wenn die Protokollierungsoptionen gegeben sind:

  • Startfehler
  • Fehler
  • Warnungen
  • Hinweise
  • alle anderen Fehler und Warnungen

Stellen Sie sicher, dass Sie überprüfen alles. Wenn Sie ein Tool wie MAMP, XAMPP oder WAMP verwenden, ist dies normalerweise sehr einfach über die Benutzeroberfläche zu erledigen. Wenn Sie sich jedoch nicht sicher sind, wo diese Optionen konfiguriert werden sollen, können Sie sie immer innerhalb von festlegen php.ini Verwenden der Hinweise, die im PHP-Handbuch beschrieben werden.

Verfolgen von Fehlern, die protokolliert werden, die möglicherweise nicht auf dem Bildschirm angezeigt werden (obwohl wir alles tun, um sicherzustellen, dass wir dies tun) tun Weitere Informationen finden Sie auf dem Bildschirm weiter unten in diesem Artikel).

Zugegeben, dies sollte möglich sein, wenn andere Webserver verwendet werden - schließlich handelt es sich wirklich nur um eine PHP-Konfigurationseinstellung -, aber ich verwende derzeit nicht viele der anderen verfügbaren Optionen, daher wollte ich explizit darauf eingehen Umgebung, in der ich meine Einstellungen konfiguriere.

WP_DEBUG

WP_DEBUG ist eine Konstante, die Sie in Ihrem WordPress einstellen können wp-config.php Datei. Bei den meisten Installationen ist diese Einstellung standardmäßig auf "false" gesetzt. Wenn Ihre bereits eingestellt ist wahr, dann bedeutet das, dass jemand es bereits getan hat oder dass Sie eine Kopie von WordPress mit Einstellungen haben, die sind nicht standardmäßig von WordPress.org verschickt.

Wie auch immer, in der Konfigurationsdatei suchen Sie nach der Konstanten und ob sie auf gesetzt ist falsch, dann setzen Sie es auf wahr. Wenn es nicht gefunden wird, fügen Sie die Zeile hinzu. Letztendlich ist es das, was Sie tun Functions.php Die Datei sollte enthalten (zusätzlich zu dem anderen Code, der bereits vorhanden war):

define ('WP_DEBUG', wahr);

Kurz gesagt, diese Konstante sorgt dafür, dass PHP-Hinweise sowie WordPress-spezifische Debug-Meldungen in die Anzeige geschrieben werden. Dies ist sehr nützlich, wenn Sie an einem Thema arbeiten und beispielsweise versuchen, einen leeren Index eines Arrays zu überprüfen, oder wenn Sie eine Funktion verwenden, die von der aktuellen Version von WordPress nicht mehr unterstützt wird.

Es gibt auch ein fantastisches Plugin für diese Technik, das wir später in diesem Artikel behandeln werden.

Es gibt auch zwei weitere Konstanten, die Sie definieren können, um noch mehr Informationen zu erhalten, als diese. Weitere Informationen finden Sie im entsprechenden Codex-Artikel. Kurz gesagt, die Konstanten und ihre Definitionen lauten wie folgt:

WP_DEBUG_DISPLAY

WP_DEBUG_DISPLAY ist ein weiterer Begleiter von WP_DEBUG, der steuert, ob Debugmeldungen im HTML-Code von Seiten angezeigt werden oder nicht. Der Standardwert ist "true", wodurch Fehler und Warnungen angezeigt werden, während sie generiert werden. Wenn Sie diese Option auf "false" setzen, werden alle Fehler ausgeblendet. Dies sollte in Verbindung mit WP_DEBUG_LOG verwendet werden, damit Fehler später überprüft werden können.

WordPress zeigt alle Fehler, Warnungen und Hinweise im Kontext einer Seite an. Wenn Sie mit dem Debugging von WordPress fortfahren möchten, aber verhindern möchten, dass die Informationen auf der Seite gerendert werden und nur in eine Protokolldatei geschrieben werden, können Sie diese Konstante auf festlegen falsch.

Ich persönlich bin kein Fan davon, Dinge versteckt zu halten, da ich gerne Probleme sehe, sobald sie auftauchen (lesen Sie: Sobald ich sie erstellt habe), aber jeder hat andere Arbeitsabläufe. Wenn die Meldungen auf den Seiten mit Ihrem Entwicklungsstil in Konflikt stehen, definieren Sie diese Konstante entsprechend WP_DEBUG_LOG.

WP_DEBUG_LOG

WP_DEBUG_LOG ist ein Begleiter von WP_DEBUG, der bewirkt, dass alle Fehler auch in einer Protokolldatei debug.log im Verzeichnis / wp-content / gespeichert werden. Dies ist nützlich, wenn Sie alle Notizen später überprüfen möchten oder Notizen anzeigen möchten, die außerhalb des Bildschirms generiert wurden (z. B. während einer AJAX-Anforderung oder eines Wp-Cron-Laufs)..

Dies ist eine nützliche Konstante, um zu definieren, ob die Fehlerprotokolle (die meisten Entwickler) überwachen sollte Sein). Neben dem von PHP generierten Protokoll ist dies eine weitere Datei, die Einblick in das mögliche Problem und den aktuellen Stand des Problems bietet, wenn Sie an einem Thema arbeiten.

SAVEQUERIES

Diese Konstante ist eine weitere, die bei einigen Plugins hilfreich sein wird, die wir später in diesem Artikel betrachten werden. es lohnt sich aber, sich einzurichten Functions.php Auch wenn Sie keine zusätzlichen Plugins installiert haben.

Zuerst wie das WP_DEBUG Konstante oben können Sie dies hinzufügen Functions.php. Es sollte so aussehen:

define ('SAVEQUERIES', wahr);

Sieht gut aus, sicher, aber was macht es eigentlich?? SAVEQUERIES weist WordPress an, zwei Dinge zu verfolgen:

  1. Alle Abfragen, die ausgeführt werden
  2. Wie lange dauerte es, um jede Abfrage auszuführen

Dies hat eine direkte Schnittstelle zu $ wpdb Das ist die WordPress-Datenbankklasse. Wie bereits erwähnt, gibt es ein weiteres Plugin, das direkt mit dieser bestimmten Konstante funktioniert, sodass Sie alle Abfragen in WordPress sehen können. Wenn Sie jedoch lieber auf die Verwendung eines Plugins verzichten möchten, definieren Sie diese Konstante einfach und drucken Sie das Ergebnis aus $ wpdb-> Abfragen zu Ihrem Ausgabeformat Ihrer Wahl.

Plugins

Neben der Einstellung von Konstanten gibt es eine Reihe leistungsfähiger Plugins, die meiner Meinung nach in der WordPress-Installation eines jeden Entwicklers installiert werden sollten, die noch mehr Hilfe bieten kann, wenn sie mit den obigen Einstellungen verwendet werden.

Obwohl viele von Ihnen Plugins zu dieser Liste hinzufügen werden und andere Meinungen zu jedem dieser Plugins haben werden, habe ich festgestellt, dass dies für meine Entwicklungsanstrengungen am nützlichsten ist.

Debug-Leiste

Die Debug-Leiste führt in der Admin-Leiste Ihrer WordPress-Installation eine Option ein, die Informationen zu Abfragen, zum Cache und zu anderen Informationen enthält.

Dieses Plugin wird am besten mit verwendet WP_DEBUG und SAVEQUERIES aktiviert. Beachten Sie, dass dieses Plugin auch für eine Reihe der Plugins benötigt wird, die ich nach diesem Plugin aufliste. Das heißt, es hat eine Reihe von Erweiterungen, die es noch leistungsfähiger machen.

Add-In für Aktionen und Filter der Debug-Leiste

Dieses Plugin führt zwei weitere Registerkarten in der Debugleiste ein, mit denen Sie alle Aktionen und Filter (dh alle Hooks) anzeigen können, die für die aktuelle Seitenanforderung ausgeführt werden.

Dies ist ausnahmsweise hilfreich, wenn Sie ein komplexes Thema erstellen oder wenn Sie eine Codebase von einer anderen Person geerbt haben und zu finden versuchen Warum bestimmte Dinge passieren, die aufgrund der Art und Weise, wie das Thema erstellt wird, möglicherweise nicht leicht zu finden sind. 

Debug Bar Console

Leider wurde dieses Plugin in ein paar Jahren nicht aktualisiert, daher weiß ich nicht, wie lange es noch mit WordPress funktionieren wird (es sei denn, jemand nimmt es für die Entwicklung an), aber es funktioniert in Verbindung mit der Debug-Leiste, um Sie darauf hinzuweisen die Möglichkeit, PHP und MySQL direkt in WordPress auszuführen.

Dies ist sehr hilfreich, wenn Sie versuchen herauszufinden, warum eine Funktion in Ihrem Thema nicht so funktioniert, wie sie sein sollte. Das heißt, Sie können eine Funktion direkt in die Konsole schreiben, sie ausführen und das Ergebnis sehen, ohne ständig in Ihre IDE zurückspringen zu müssen, die Funktion zu ändern, zu aktualisieren und das Ergebnis zu überprüfen.

Debug-Leiste Listet Skript- und Stilabhängigkeiten auf

Wenn Sie mit einem Design arbeiten, das viele Stile und viele JavaScript-Dateien verwendet, vor allem solche, die von anderen Stylesheets und anderen JavaScript-Dateien abhängen, ist es hilfreich, die Reihenfolge und die Reihenfolge der geladenen Dateien zu kennen geladen.

An dieser Stelle kommt dieses Add-In für die Debug-Bar zum Einsatz.

Damit können wir die Reihenfolge visualisieren, in der Skripte und Stile geladen und ausgeführt werden, sodass wir die erforderlichen Änderungen vornehmen können, um sicherzustellen, dass alle Abhängigkeiten so geladen werden, wie sie für das Design des Themas erforderlich sind. 

Debug Bar Post-Typen

Wenn Ihr Thema benutzerdefinierte Beitragstypen in das Dashboard einfügt, besteht die Wahrscheinlichkeit, dass Sie mit einer Vielzahl verschiedener Eigenschaften arbeiten mussten, Regeln umschreiben und mehr. 

Es kann sehr schnell komplex werden, je nachdem, wie sehr Sie sich entscheiden, die Funktionen des benutzerdefinierten Post-Typs zu optimieren.

Dieses Plugin fügt der Debugleiste ein weiteres Fenster hinzu, sodass Sie die Eigenschaften für jeden Beitragstyp leicht sehen können. Es ist nicht möglich, im laufenden Betrieb Änderungen oder Bearbeitungen vorzunehmen (dies kann in der Debug Bar Console oder durch einfaches Bearbeiten der benutzerdefinierten Post-Typ-Definition erfolgen), bietet jedoch ein viel saubereres Format als ein riesiges Array auf dem Bildschirm einer IDE.

Veraltete Meldungen protokollieren

Dies ist ein einfaches Plugin, das die Verwendung alter Dateien, Funktionen, Argumente usw. in einer Datei protokolliert. Insbesondere wenn Sie ein Design schreiben, wird dieses Plugin benachrichtigt, wenn Sie etwas ausführen, das nicht 100% kompatibel mit der aktuellen Version von WordPress ist. 

Für diejenigen, die sicherstellen möchten, dass sie ihre Arbeit zukunftssicher machen und mit den neuesten APIs auf dem neuesten Stand sind, empfehle ich dieses Plugin.

WordPress Plugin Performance Profiler

Eines der größten Missverständnisse über WordPress ist, dass das Ausführen vieler Plugins dazu führt, dass Ihre Website langsam geladen wird, oder dass viele Plugins Bloat verursachen. Das stimmt nicht Es sind schlecht geschriebene Plugins, die das tun. Diejenigen, die den bewährten Vorgehensweisen von WordPress und den Kodierungsstandards folgen, sollten die Ladezeit minimal beeinflussen.

Nachdem dies gesagt wurde, erkennt dieses Plugin genau, welche Plugins die Leistung am meisten beeinflussen. Sicher, dies kann nützlich sein, wenn Sie versuchen, den Grund für das langsame Funktionieren einer Website einzuschränken. Es ist jedoch auch nützlich, dies mit Ihrem eigenen Code auszuführen, um dies sicherzustellen du bist die Leistung der Website nicht negativ beeinflusst.

Regelinspektor neu schreiben

Jeder, der umfangreiche Arbeiten mit benutzerdefinierten Post-Typen, benutzerdefinierten Routen oder URLs durchgeführt hat oder sich mit der Rewrite-API befassen musste, kennt die Herausforderungen, die vorhanden sind.

Dieses Plugin hilft Ihnen, die Umschreibungsregeln Ihrer Installation visuell darzustellen. Dies ist nützlich, um Regeln zu überprüfen, die im aktuellen Thema vorhanden sind, aber auch um das Debuggen zu erleichtern, wenn Sie versuchen, ein benutzerdefiniertes Schema zu definieren, und wenn Sie Schwierigkeiten haben, den regulären Ausdruck zu finden.

RTL-Tester

Wenn Sie Ihr Plugin für ein möglichst breites Publikum vermarkten möchten, sollten Sie testen, wie es in Sprachen aussieht, die von links nach rechts und von rechts nach links lesen. 

Wenn Sie also sicherstellen möchten, dass Sie Ihr Thema richtig internationalisiert haben, können Sie mit diesem Plugin sehen, wie Ihre Arbeit für internationalisierte Sprachen aussieht.

Wenn Sie Ihr Theme auf WordPress.com verkaufen möchten, ist dies ein Muss.

Theme Check

Wenn Sie sicherstellen möchten, dass Ihr Design mit den aktuellen Richtlinien für die Überprüfung der WordPress-Theme auf dem neuesten Stand ist, ist die Theme-Prüfung nicht verhandelbar.

Es führt eine automatisierte Prüfung Ihres Designs durch und stellt sicher, dass der gesamte Code den aktuellen Richtlinien entspricht. Wenn nicht, werden Ihnen die Probleme und Links zu der Richtlinie, die Sie nicht befolgen, angezeigt. Es enthält auch Vorschläge zu Dingen, die Sie implementieren sollten.

Beachten Sie, dass die meisten (wenn nicht alle) frei im WordPress Plugin Repository verfügbar sind, sodass sie direkt von WordPress selbst installiert werden können.

Fazit

Wie ich bereits in früheren Artikeln festgestellt habe, sind viele der Dinge, die ich in dieser Serie geteilt habe, etwas subjektiv oder funktionieren in Ihrer aktuellen Umgebung möglicherweise nicht. Obwohl die von mir freigegebenen Vorgehensweisen und Tools in meiner persönlichen Erfahrung in der Arbeit mit WordPress seit mehreren Jahren erprobt und bewiesen wurden, ist mir auch klar, dass wir nicht alle dasselbe Toolset verwenden.

Dies bedeutet, dass einige Einstellungen für Konfiguration, Organisation und Einstellungen für Sie variieren können. Das ist okay. Der entscheidende Punkt ist, dass wir als Themenentwickler besser dafür sorgen müssen, dass sie wartungsfähige Themen schreiben, weil wir nach ihrer ersten Veröffentlichung so viel Zeit damit verbringen, an ihnen zu arbeiten.

Vielleicht werden Ihnen einige der in dieser Serie vorgeschlagenen Dinge dabei helfen. Vielleicht müssen Sie einige Vorschläge anpassen, um die von Ihnen verwendeten Tools abzugleichen. Wie dem auch sei, ich hoffe, dass es nicht nur eine nützliche Serie mit einigen praktischen Tipps für Ihre laufende Themenentwicklung ist, sondern auch das Interesse geweckt wurde, eine Grundlage für die Organisation und Strukturierung Ihrer Projekte zu schaffen.

Wie üblich können Sie die Diskussion mit Kommentaren, Fragen und anderen allgemeinen Rückmeldungen im Kommentarthread weiterführen.