ACF (Advanced Custom Fields)
Advanced Custom Fields (ACF) ist ein WordPress-Plugin, das es ermöglicht, benutzerdefinierte Felder (Custom Fields) über eine grafische Oberfläche zu erstellen und zu verwalten. Damit können Inhaltstypen um strukturierte Daten erweitert werden – etwa Öffnungszeiten, Teamprofile, technische Spezifikationen oder Standortinformationen – ohne dass Redakteure im Freitext-Editor arbeiten müssen. ACF ist eines der am weitesten verbreiteten WordPress-Plugins mit Millionen aktiver Installationen.
Technischer Hintergrund
ACF speichert Feldgruppen (Field Groups) als Custom Post Type in der Datenbank und die eigentlichen Feldwerte als Post-Meta-Daten. Das Plugin bietet über 30 Feldtypen: Text, Textarea, WYSIWYG, Bild, Datei, Galerie, Select, Checkbox, Repeater, Flexible Content, Relationship und viele mehr. Feldgruppen werden Inhaltstypen über Regeln zugewiesen – etwa allen Beiträgen einer bestimmten Kategorie oder einem bestimmten Seitentemplate.
Seit ACF 6.0 können Feldgruppen als JSON- oder PHP-Dateien synchronisiert werden, was die Versionierung mit Git und den Transfer zwischen Staging und Produktion erheblich vereinfacht. Die REST-API-Integration ermöglicht den Zugriff auf ACF-Felder über die WordPress-API, was für Headless-WordPress-Setups wichtig ist. Im Block-Editor können ACF-Felder als eigene Blöcke dargestellt werden (ACF Blocks).
Im Theme oder in Templates werden ACF-Felder über Funktionen wie get_field() und the_field() ausgelesen. Die Performance hängt von der Anzahl der Meta-Abfragen ab – bei komplexen Layouts mit vielen Repeater-Feldern kann dies spürbar werden. ACF Pro bietet erweiterte Feldtypen (Repeater, Flexible Content, Gallery, Clone) und zusätzliche Features, die in der kostenlosen Version nicht verfügbar sind.
Bedeutung für die WordPress-Wartung
ACF ist oft tief in die Seitenstruktur integriert. Wenn das Plugin deaktiviert oder entfernt wird, verschwinden alle zugehörigen Felder aus dem Backend und Frontend – die Daten bleiben zwar in der Datenbank, sind aber nicht mehr zugänglich. Bei Updates muss geprüft werden, ob bestehende Feldgruppen und deren Ausgabe im Theme weiterhin korrekt funktionieren. Die Migration von ACF-Felddefinitionen zwischen Umgebungen (lokal, Staging, Live) erfordert einen durchdachten Workflow, idealerweise über JSON-Synchronisation.
Häufige Probleme
- Felddefinitionen existieren nur in der Datenbank und gehen bei Migrationen oder Backups verloren, wenn nur Dateien gesichert werden
- JSON-Sync ist aktiviert, aber die Feldgruppen in Datenbank und Dateisystem sind nicht synchron
- Performance-Probleme durch zu viele verschachtelte Repeater-Felder oder grosse Flexible-Content-Layouts
- Nach einem WordPress- oder ACF-Update funktionieren bestimmte Feldtypen nicht mehr korrekt
- Theme-Code greift auf ACF-Felder zu, ohne zu prüfen, ob das Plugin aktiv ist – bei Deaktivierung stürzt die Seite ab
- Doppelte Feldgruppen-Keys durch fehlerhafte Synchronisation zwischen Entwicklern
- Inkompatibilitäten mit dem Block-Editor bei der Nutzung von ACF Blocks nach Major-Updates
Best Practices
- JSON-Synchronisation aktivieren und Felddefinitionen unter Versionskontrolle stellen
- Im Theme-Code immer prüfen, ob ACF aktiv ist:
if (function_exists('get_field')) - Feldgruppen-Keys einheitlich und sprechend benennen für bessere Wartbarkeit
- Komplexe Repeater- und Flexible-Content-Strukturen sparsam einsetzen und deren Performance testen
- Bei Major-Updates von ACF zuerst auf der Staging-Umgebung testen, besonders wenn ACF Blocks verwendet werden
- Unbenutzte Feldgruppen und verwaiste Meta-Daten regelmässig aufräumen
- Dokumentation der eingesetzten Feldgruppen und deren Zuordnung pflegen, damit auch andere Entwickler den Aufbau nachvollziehen können
In unserer Wartung setzen wir Updates, Backups, Monitoring und Sicherheitsmaßnahmen als abgestimmten Prozess um. Wartungsleistungen ansehen →
