Auch Entwickler brauchen Platz zum Spielen

4. Oktober 2013 /

Toolbox-Plugin: WordPress-Snippets auslagern und modularisieren

Toolbox für WordPress ist ein erweitertes Plugin, welches WordPress-Snippets in Form von übersichtlichen, steuerbaren Modulen aufbewahrt.
Toolbox für WordPress

Irgendwann stößt jede functions.php an ihre Grenzen: Nahezu jede (kleinere) Funktionserweiterung im WordPress-Blog endet mit einem Eintrag in dieser Theme-gebundenen Datei, die eigentlich auch dafür gedacht ist. Kommt ein Blog in die Jahre, so ist die WordPress-interne Datei für Erweiterungen wortwörtlich mehrere DIN A4-Seiten lang – die Übersicht leidet, die Pflege kostet zunehmend Zeit. Das altbekannte Problem versucht das neue Plugin Toolbox anzugehen und in vielen Fällen sogar zu lösen.

Code Snippet Manager für WordPress
Die Grundidee: Der Inhalt der functions.php wird in eigenständige Module aufgeteilt und – wenn die Zeit es zulässt – mit Metadaten versehen. Die Module landen per (S)FTP im speziellen Plugin-Ordner modules, werden von Toolbox als solche erkannt und verwaltet. Wer mag, kann so komplett auf die functions.php verzichten und das Management der WordPress-Snippets nur noch über das Plugin unternehmen.

Toolbox hat die Aufgabe, functions.php zu revolutionieren
Toolbox hat die Aufgabe, functions.php zu revolutionieren

Klarheit beim Funktionsaufbau
Welchen Vorteil hat die Modularisierung der Snippets? In erster Linie ist es die Übersichtlichkeit. Durch die Aufteilung und eine sinnvolle Benennung der Code-Schnipsel, erfolgt eine schnellere Zuordnung der Funktionen – man erfährt prompt und ohne ein komplexes Kommentarsystem zu besitzen, welches Modul (und somit auch welcher Code) für welche Funktionsweise im Blog zuständig ist. Mehr Struktur und Ordnung kommen rein. Der Gedanke ähnelt sehr der Verwaltung von Plugins innerhalb von WordPress: Zielsetzungen kapseln.

Zudem ist es ein weiterer Schritt in Richtung Trennung zwischen Funktion und Layout, denn die globalen Codeanweisungen gehören nicht unbedingt ins Theme.

Zuweisung der Lade-Bereiche und Abschaltung
Toolbox-Module sind nichts anderes als gruppierte Funktions- und Hooks-Aufrufe. Doch die Module lassen sich auf Wunsch einzeln deaktivieren. Oder auch genau festlegen, wo diese geladen und ausgeführt werden. Dazu stehen Segmente Nur im Frontend, Nur im Backend und Im Back- und Frontend zur Auswahl bereit.

Verfügbare Toolbox-Module mit Beschreibung aufgelistet.
Verfügbare Toolbox-Module mit Beschreibung aufgelistet

Aufbau der Toolbox-Module
Ein Toolbox-Modul ist eine PHP-Datei im Plugin-Verzeichnis modules, bestehend aus optionalen Metadaten, einer Sicherheitsabfrage und benutzerdefinierten Code-Fragmenten. Wie auch bei WordPress-Plugins besitzen Meta-Informationen der Toolbox-Module über ein festgelegtes Muster. Der Module Name, die Description und Module URI werden ausgewertet und in der Auflistung der Module innerhalb der Plugin-Einstellungen angezeigt.

Als Linktipp eignen sich an dieser Stelle wpsnipp.com und wp-snippets.com mit ihren zahlreichen WordPress-Snippets.

Skelett eines Toolbox-Moduls

<?php
/*
Module Name: Name des Moduls
Description: Beschreibung des Moduls [Backend|Frontend]
Author: Sergej Müller
Author URI: http://ebiene.de
*/

/* Sicherheitsabfrage */
if ( !class_exists('Toolbox') ) {
  die();
}

/* Ab hier kann's los gehen */
echo 'Hier mein Snippet';

Ratschläge zum Modulaufbau

  • Für die korrekte Darstellung der Sonderzeichen, sollte das Modul im UTF-8 Format gespeichert werden.
  • Abschließendes ?> am Ende des Moduls ist nicht notwendig.

Potential bei Themes, Multisite und Performance

  • Toolbox stellt die Funktionalität der aktiven Module Themes-übergreifend bereit, d.h. bei einem Layout-Wechsel sind die hinterlegten Funktionen sofort einsatzbereit. Dito bei Multisite-Blogs.
  • Im Vergleich zu WordPress Plugins, erfolgt bei den Modulen keine Prüfung auf vorhandene Updates. Das verringert wiederum die Ladezeiten.
  • Schon gewusst, das WordPress die functions.php aus aktuellem Theme sowohl im Blog-Frontend wie auch Backend lädt? Durch eine genaue Zuweisung der Lade-Bereiche (Frontend, Backend, FE und BE), lässt sich die Performance des Blogs steigern und die Fehlerquote senken, da Funktionen nur dort geladen und ausgeführt werden, wofür diese tatsächlich programmiert wurden.

Module im Lieferumfang
Dem Plugin liegen vorgefertigte Module bei.

Neue oder weiterentwickelte Module auf GitHib

Installation der Modulen von GitHub

  • Auf der GitHub-Seite eines Moduls auf Download klicken
  • Heruntergeladene Archiv-Datei entpacken
  • Mithilfe eines (S)FTP-Clients zum Plugin-Ordner modules navigieren
  • Extrahierte PHP-Datei dorthin übertragen
  • Das Modul steht in den Plugin-Einstellungen zur Aktivierung bereit

Hinweise

  • Mindestvoraussetzungen: WordPress 3.3 und PHP 5 (5.3 empfohlen)
  • Plugin-interne Hilfe oben rechts beachten

Outro
Will der aktuelle Blog um eine Funktion erweitert werden, wo der PHP-Code eigentlich in die functions.php gehören sollte? Stop! Ein weiteres Toolbox-Modul anlegen, Metadaten anpassen, den Schnipsel einfügen, für einen Bereich aktivieren. Arbeiten lassen.



Hilfeleistung via PayPal, Flattr, Amazon ist jederzeit willkommen. Danke.


Download
› Toolbox – WordPress Snippets als Module ↓

Sergej Müller

[Der Autor]Sergej Müller ist enthusiastischer Software Engineer mit Schwerpunkten Webentwicklung, Apps und WordPress. Seit 2007 programmiert und vertreibt er wpSEO, das zugkräftige SEO-Plugin für WordPress-Blogs.

Thematisch ähnliche Beiträge