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
•
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