functions.php
Die functions.php ist eine PHP-Datei im Theme-Verzeichnis, die wie ein eingebautes Plugin für das aktive Theme funktioniert. Sie wird bei jedem Seitenaufruf geladen und bietet den direkten Zugang zu WordPress-Hooks, Filter-Funktionen und Theme-Konfiguration. Hier werden Theme-Features aktiviert, Skripte eingebunden, Menü-Positionen registriert und eigene Funktionen definiert.
Was in die functions.php gehört
- Theme-Support aktivieren – Featured Images, Custom Logos, Post Formats, HTML5-Markup
- Skripte und Styles einbinden – CSS und JavaScript korrekt per
wp_enqueue_scriptsladen - Menü-Positionen registrieren – mit
register_nav_menus() - Widget-Bereiche registrieren
- Custom Image Sizes – zusätzliche Bildgrößen mit
add_image_size()definieren - Hooks und Filter – WordPress-Verhalten an eigene Bedürfnisse anpassen
functions.php vs. Plugin
Grundregel: Funktionen, die zum Theme gehören – also zum visuellen Erscheinungsbild –, gehören in die functions.php. Funktionen, die unabhängig vom Theme funktionieren sollen (Custom Post Types, eigene Shortcodes, Integrationen), gehören in ein Plugin oder ein Must-Use-Plugin. Wer Theme wechselt und feststellt, dass Kernfunktionen der Website nicht mehr funktionieren, hat die functions.php falsch genutzt.
Wichtig: Nicht direkt im aktiven Theme bearbeiten
Änderungen direkt in der functions.php eines fremden Themes gehen beim nächsten Theme-Update verloren. Die richtige Vorgehensweise:
- Child Theme verwenden – eigene functions.php im Child Theme, die Theme-Updates des Eltern-Themes übersteht
- Code Snippets Plugin – Plugins wie „Code Snippets“ ermöglichen das Hinzufügen von PHP-Snippets ohne direkten Dateizugriff, mit ein/aus-Schalter
Fehler in der functions.php
Ein PHP-Fehler in der functions.php kann dazu führen, dass die gesamte Website einen weißen Bildschirm zeigt (WSOD). In diesem Fall hilft: Per FTP oder Dateimanager im Hosting-Panel die fehlerhafte Zeile rückgängig machen, oder das Child Theme deaktivieren, indem das Eltern-Theme im Dateimanager direkt als aktives Theme gesetzt wird.

