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).