Wohin mit dem Code – PlugIn oder functions.php?
Dieser Artikel ist ursprünglich am 08. 04. 2013 erschienen.
Das ist eine ganze Weile her. Der Inhalt ist womöglich nicht mehr ganz aktuell.
Jeder, der eine Webseite mit WordPress betreibt kennt das: Irgendeine Funktion fehlt mal wieder im Theme. Also macht man sich im Web auf die Suche. Nach ein paar Klicks findet man die Lösung in Form eines Codeschnipsels: „Just paste this in your functions.php and you are done.“ Kopieren, einfügen, Problem gelöst.
Alternativ kann man sich im Plugin Directory von wordpress.org umschauen. Hier gibt es Plugins für alle Lebenslagen, es gibt praktisch nichts, was es nicht gibt.
Aber wie macht man’s eigentlich richtig? Die functions.php mit vielen schicken Codeschnipsel anreichern oder doch lieber ein Plugin installieren?
Das kommt in die functions.php
Hier kommen alle Funktionen rein, die direkt mit dem Theme verbunden sind. Hier registriere ich zum Beispiel Javacripts und Stylesheets, definiere die Sidebars und lege ein Fallback-Version fürs Navigationsmenü fest, falls nichts definiert ist und so weiter.
Funktionen, die irgendwelche Inhalte betreffen, lagere ich in ein PlugIn aus. Denn wenn ich oder mein Kunde irgendwann das Theme wechseln möchten, sollen ja alle Texte und Bilder erhalten bleiben.
Ein gutes Besipiel sind Custom Post Types, wie man sie häufig in Portfolio-Themes findet. Die Projekte im Portfolio werden in einem CPT angelegt. Ist diese Funktion fest ins Theme (also in der functions.php) eingebaut, dann sind alle Projekte weg, sobald man ein anderes Theme aktiviert.
Das kommt in ein PlugIn
Hier kommen alle Funktionen rein, die nicht direkt an das Theme gebunden sind oder die etwas mit der Erfassung von Inhalten zu tun haben. Will man irgendwann auf ein anderes Theme umsteigen, dann bleibt die Funktionalität erhalten (s. Custom Post Types).
Kommentare, die nichts mit dem jeweiligen Artikel zu tun haben, oder die weitgehend inhaltslos sind und keinen Mehrwert für andere Leserinnen und Leser bieten, veröffentlichen wir nicht.
4 Kommentare zu “Wohin mit dem Code – PlugIn oder functions.php?”
Hallo Kirsten
Mit deiner Message bin ich absolut einig. Das Problem ist, dass wahrscheinlich viele nach dem Fund einer functions.php-Lösung die Suche nach einer optimaleren Plugin-Lösung aufgeben. Teilweise bieten Plugins auch einen Funktionsumfang, welchen man gar nicht benötigt und haben möchte.
Ich persönlich bin ein Fan des Plugins Toolbox. Dieses erlaubt mir genau solche nicht Theme relevanten Schnipsel ausserhalb der functions.php zu lagern und zu verwalten. Nach einem Themewechsel sind also sämtliche Funktionen noch da.
Stimmt, Toolbox ist ein guter Tipp. Danke!
Ich hab auch so ein kleines Plugin mit „meinen“ Functions drin, das ich verschiedenen Themes beigeben kann.
Danke für die Info.
Wenn ich jetzt ein Child-Theme habe und dort mir eine function.php anlege, dann könnte ich diese ja bei einem Theme Wechsel doch wieder in das neue Child-Theme kopieren?
Hallo, Marcel,
Das kommt darauf an, was in der functions.php des Parent-Themes steht. Die functions.php im Childtheme ergänzt nur die functions.php des Parent-Themes. Hier kann man zusätzliche Funktionen reinschreiben und auch Funkionen aus dem Parent-Theme deaktivieren oder überschreiben. Das eine baut also auf dem anderen auf.
Es ist also gut möglich, dass Deine Child-Theme-Functions auch mit einem anderen Parent-Theme funktionieren. Aber sicher ist es nicht.
Schöne Grüße von Kirsten
Die Kommentare sind geschlossen.
Wenn du einen Kommentar schreibst, wird dieser inklusive Metadaten zeitlich unbegrenzt gespeichert. Auf diese Art können wir Folgekommentare automatisch erkennen und freigeben, anstelle sie in einer Moderations-Warteschlange festzuhalten.
Wenn Besucher Kommentare auf der Website schreiben, sammeln wir die Daten, die im Kommentar-Formular angezeigt werden, außerdem die IP-Adresse des Besuchers und den User-Agent-String (damit wird der Browser identifiziert), um die Erkennung von Spam zu unterstützen. Aus deiner E-Mail-Adresse kann eine anonymisierte Zeichenfolge erstellt (auch Hash genannt) und dem Gravatar-Dienst übergeben werden, um zu prüfen, ob du diesen benutzt.
Die Datenschutzerklärung des Gravatar-Dienstes findest du hier.
Nachdem dein Kommentar freigegeben wurde, ist dein Profilbild öffentlich im Kontext deines Kommentars sichtbar.