Wie man häufige Fehler bei der Entwicklung von WordPress-Themes vermeidet

Veröffentlicht: 2021-02-16

WordPress ist dafür bekannt, unglaublich flexibel zu sein, insbesondere wenn es um die Entwicklung von Themes und Plugins geht. Wenn Sie jemals einen Beweis sehen möchten, fragen Sie einfach eine Gruppe von Entwicklern, wie sie eine bestimmte Funktion implementieren würden. Die Chancen stehen gut, dass Sie mehrere verschiedene Methoden erhalten, um das gleiche Ergebnis zu erzielen. Support-Foren sind mit solchen Beispielen übersät.

Aber mit dieser Flexibilität ist auch die Realität, dass es leicht ist, Dinge auf die „falsche“ Weise zu machen. Nun, in diesem Fall bedeutet „falsch“, dass etwas entweder ineffizient oder ein bisschen mühsam zu warten ist. Während es im Sinne von Funktionalität funktionieren mag, gibt es normalerweise bessere Möglichkeiten, Dinge zu erledigen.

Werfen wir einen Blick auf fünf der häufigsten Fehler bei der Themenentwicklung, zusammen mit Alternativen, die Ihnen zukünftige Kopfschmerzen ersparen werden.

1. Verwenden von absoluten URLs in Vorlagen

Wenn Sie sich jemals den HTML-Code einer WordPress-Seite oder eines Posts angesehen haben, werden Sie feststellen, dass sowohl Bilder als auch interne Links absolute (vollständige) URLs verwenden. Dies ist jedoch nicht der beste Weg, um Dinge zu erledigen, wenn Sie Code zu Ihren Designvorlagen hinzufügen.

Angenommen, Sie entwickeln eine Website, die eine temporäre URL verwendet. Eine hartcodierte absolute URL in einer Vorlage bedeutet, dass Sie Codeänderungen manuell vornehmen müssen, wenn Sie bereit sind, die Website in ihrer permanenten Domain zu starten. Obwohl dies möglich ist, vergisst man allzu leicht alle Stellen, an denen diese Art von Code lauern könnte.

WordPress verfügt über integrierte Möglichkeiten, um die richtige URL zu ermitteln – direkt aus dem Bereich Settings > General des Dashboards.

Für einen Link liefert das Echo von esc_url( home_url() ) einen vollständigen Pfad zur Homepage. Anstatt also die URL explizit in Ihren Code zu platzieren, könnten Sie einen einfachen Link zurück zu Ihrer Homepage wie folgt hinzufügen:

 <a href="<?php echo esc_url( home_url() ); ?>" />Home</a>

Darüber hinaus können Sie damit auch auf Sekundärseiten verweisen. Wenn wir beispielsweise auf die Seite „Über uns“ unserer Website verlinken möchten, könnten wir den folgenden Code verwenden:

 <a href="<?php echo esc_url( home_url() ); ?>/about-us/" />About Us</a>

Ein ähnliches Snippet funktioniert auch für Bilder. Dieses Beispiel ruft ein Bild aus dem Unterordner /images/ unseres aktiven Designs ab:

 <img src="<?php echo esc_url( get_stylesheet_directory_uri() ) ; ?>/images/hello.png" />

2. Hinzufügen von Skripten und Stilen direkt zu einer Vorlage

Die Verwendung von Skripten und Stilen von Drittanbietern mit WordPress ist eine Welt für sich. Wenn Sie zum ersten Mal mit dem Erstellen von Designs beginnen, könnten Sie versucht sein, einfach <script> - oder <style> -Tags oder sogar einen Google Font-Einbettungscode direkt in den Header Ihres Designs einzufügen. So werden die Dinge im Allgemeinen mit statischen HTML-Sites gemacht, daher ist es sinnvoll, hier dasselbe zu tun.

Aber wie bei fast allem anderen in WordPress gibt es einen besseren Weg, dies zu tun. Nutzen Sie stattdessen wp_enqueue_script() und wp_enqueue_style() – die Skripte und Stylesheets an den richtigen Stellen für Sie hinzufügen. Es macht auch die Verwaltung von Assets viel einfacher, da alles aus der Datei functions.php Ihres Themes aufgerufen wird.

Anstatt das Rad hier neu zu erfinden, bietet das WordPress Theme Handbook eine fantastische Anleitung, wie Sie Skripte und Stile richtig zu Ihrem Theme hinzufügen.

Treffen Sie intelligente Entwicklungsentscheidungen

3. Aufrufen von externen Instanzen von jQuery

In einem verwandten Hinweis ist eines der versteckten Geheimnisse von WordPress, dass es bereits eine Kopie von jQuery enthält, zusammen mit mehreren beliebten UI-Funktionen. Sie müssen jQuery also nicht installieren oder es remote aufrufen. Dies macht es einfach, die Vorteile der beliebten JavaScript-Bibliothek zu nutzen und Elemente wie Registerkarten, Datumsauswahl, Dialoge und vieles mehr zu implementieren.

Der einzige Haken ist, dass Sie die Elemente, die Sie verwenden möchten, speziell über die Datei functions.php Ihres Themas aktivieren müssen. Das schafft zwar eine gewisse Lernkurve, reduziert aber auch das Aufblähen.

Und um ehrlich zu sein, es ist nicht allzu schwierig, ein gewünschtes jQuery-UI-Element zu implementieren. Um beispielsweise die Verwendung von jQuery-UI-Tabs zu aktivieren, fügen Sie einfach das folgende Snippet zu Ihrer functions.php hinzu:

 function my_jquery_elements() { wp_enqueue_script( 'jquery-ui-tabs', array('jquery')); add_action( 'template_redirect', my_jquery_elements ', 10 );

Dies weist WordPress an, das Element aus seiner bereits vorhandenen Bibliothek zu laden. Entwerfen Sie von dort aus Ihre Registerkarten und definieren Sie sie wie in der jQuery-UI-Dokumentation angegeben.

4. Anpassung zu weit gehen

Die Möglichkeit, benutzerdefinierte Felder und benutzerdefinierte Beitragstypen hinzuzufügen, kann das Leben sowohl für Entwickler als auch für Website-Content-Editoren erheblich erleichtern. Sie bieten Komfort, eine bessere Inhaltsorganisation und eine intuitivere UX. Aber manchmal gehen wir zu weit.

Ich bin zum Beispiel ein großer Fan von benutzerdefinierten Feldern. Aber selbst ich gebe zu, dass es Zeiten gab, in denen ich ein Thema bis zur Inflexibilität angepasst habe. Felder eignen sich hervorragend für Setups, bei denen wir genau wissen, welche Inhalte eingegeben werden müssen – wie die Felder eines Mitarbeiterprofils.

Es kann jedoch chaotisch werden, wenn es Inkonsistenzen bei den Arten von Inhalten gibt, die jemand hinzufügen möchte. Clients sind bekannt dafür, „kleine“ Ausnahmen im Inhalt zu haben, die die Verwendung von Anpassungen erschweren können. Bedingte Logik kann einiges davon erklären, aber Sie können es nur so weit bringen, bevor die Benutzeroberfläche außer Kontrolle gerät.

Es gibt keine festen Regeln für diese Art der Anpassung. Das einzige, was wir wirklich tun können, ist unser bestes Urteil darüber zu fällen, was angepasst werden sollte und was besser entweder dem WordPress-Inhaltseditor oder sogar einem Nischen-Plugin überlassen werden kann. Wenn wir Felder oder Beitragstypen hinzufügen, sollten Sie wissen, dass sich die Dinge im Laufe der Zeit ändern können, und versuchen Sie, dies im Hinterkopf zu bauen.

5. Fehler beim Kommentieren des Codes

Ich gebe hier noch ein weiteres Geständnis ab: Das Kommentieren von Codes gehört nicht zu meinen Stärken. Es ist nicht so, dass ich überhaupt keine Kommentare verwende, aber es ist eher so, dass sie nicht sehr artikuliert sind. Normalerweise weise ich auf den Anfang und das Ende bestimmter Elemente hin, ohne viel Einblick dazwischen zu haben. Sollte ich mehr tun? Wahrscheinlich.

Das Kommentieren ist wichtig, da es zumindest einige Referenzpunkte innerhalb des Codes liefert. Wenn Sie PHP- oder JS-Dateien durchsuchen, die mehr als eine Sache enthalten, möchten Sie sicher wissen, wo Sie ein bestimmtes Element finden können.

Selbst wenn Sie der Einzige sind, der diesen Code jemals bearbeitet, sind Kommentare sehr zu empfehlen. Wenn Sie beispielsweise in sechs Monaten etwas ändern müssen, ist es unwahrscheinlich, dass Sie sich an die genaue Stelle erinnern, an der Sie ein Code-Snippet platziert haben.

Also, ich werde kein großer Heuchler sein und Sie anflehen, alles mit großer Tiefe zu kommentieren. Aber ich werde sagen, dass selbst ein minimaler Aufwand hier die zukünftige Wartung für Sie oder einen anderen Entwickler, der Ihre Arbeit durchkämmen muss, einfacher macht.

Minimal kommentierter Code

Bessere Techniken im Laufe der Zeit

Das Erstellen eines eigenen WordPress-Themes kann eine großartige Erfahrung sein. Es erfordert jedoch ein wenig Übung, um die feineren Details der Erstellung eines gut codierten und einfach zu wartenden Themas zu verstehen. Je mehr Erfahrung Sie sammeln, desto mehr werden sich Ihre Techniken entwickeln.

Ich kann ehrlich sagen, dass die ersten Themen, die ich zusammengestellt habe, bei weitem nicht so effizient waren wie jetzt. Und ich bin mir auch sicher, dass sie vielleicht immer noch nicht auf dem neuesten Stand sind, wenn sie von einem wirklich erfahrenen Entwickler betrachtet werden. In diesem Sinne ist unsere Evolution eine konstante.

Abschließend möchte ich anmerken, dass ich persönlich jeden der oben genannten Fehler gemacht habe. Erst durch Ausprobieren und mehrere Besuche im Codex habe ich herausgefunden, wie man Dinge auf „WordPress Way“ angeht.

Die Lektion ist, dass wir alle Fehler machen werden. Aber jeder bietet uns die Chance, zu lernen und uns zu verbessern.