Mit ACF (Advanced Custom Fields) lassen sich viele Dinge einfach im Code umsetzen, anstatt dafür Plugins verwenden zu müssen.

Kategorie Bilder können mit ACF so zb sehr einfach gelöst werden.

Da es keine termmeta Tabelle in der Datenbank gibt könnte man sich jetzt fragen:
Wo speichert ACF diese Information hin?

Die Antwort: In die Optionstabelle!

Diese Information ist dann wichtig, wenn man nicht die von ACF vorgegebenen Möglichkeiten verwenden will, um diese Daten auszulesen.

Hat man zb ein ACF Feld mit dem Namen „category_image“ erstellt und speichert man zur Kategorie mit der ID 14 das Bild „meinkategoriebild.jpg“, so gibt es folgenden Eintrag:

option_name: category_14_category_image
option_value: meinkategoriebild.jpg (oder meinkategoriebild oder die ID des Attachments aus der Mediathek, je nach Setting)

Mit folgendem Code in der Kategorietemplatedatei komme ich nun an diesen Eintrag ran:

$current_cat = get_query_var( 'cat' );
$bg_image = get_option( 'category_' . $current_cat . '_category_image' );