Wer ein eigenes Theme mit individuellem Layout entwickelt oder ein bestehendes Theme anpasst, wird über kurz oder lang nicht drumherum kommen im BODY-Tag der WordPress Webseite, eigene CSS-Klassennamen zu definieren.

Individuelle Klassennamen im BODY-Tag der Webseite bieten uns sehr guten Möglichkeiten, ein Theme je nach ausgewählter Option einfach anzupassen. Ein Anwendungsbeispiel wäre, wenn wir das gesamte Layout der Webseite von „Boxed“ (eingerahmt) zu „Unboxed“ (ohne Rahmen) wechsel möchten. Hier könnten wir für den Fall mit augewählten „Boxed“ Layout den CSS-Klassennamen „has-boxed-layout“ im BODY-Tag der Webseite setzen.

Wie kann ich eigene Klassen im WordPress BODY-Tag hinzufügen?

Es gibt viele Anwendungsbeispiele bei denen das Hinzufügen oder Entfernen von benutzerdefinierten Klassennamen Sinn macht. Um dies zu erreichen tippen wir nicht die Klassennamen (hardcoded) in die header.php Datei deines Themes ein, sondern nutzen dafür vielmehr einen eigenen WordPress-Filter namens body_class.

Je nach Fall oder ausgewählter Option, kannst du hier beeinflussen welcher Klassenname wann und wo im BODY-Tag der Webseite ausgegeben wird und somit das Design der Theme Templates noch einfacher anpassen. Füge den oberen Code-Schnipsel, bspw. in die functions.php deines Themes ein.

Wie kann ich individuelle BODY-Tag Klassen im WordPress Admin-Bereich hinzufügen?

Auch für diesen Fall hat WordPress einen eigenen Filter admin_body_class bereitgestellt, welcher es uns ähnlich wie im oberen Beispiel, dass setzten individueller Klassen im BODY-Tag, ermöglicht.

Wie kann ich benutzerdefinierte BODY-Tag Klassen im WordPress Login-Bereich hinzufügen?

Sogar für den WordPress Login-Screen können wir auf den Filter login_body_class zurückgreifen und je nach Anwendungsfall unsere benutzerdefinierten Klassennamen ausgeben. Das macht z.B. dann Sinn, wenn wir den Login-Screen optisch anpassen möchten.

Individuelle BODY-Tag Klassen geben uns zahlreiche Möglichkeiten, WordPress nach unseren Wünschen anzupassen, ganz ohne Bedingungen (hardcoded) und unübersichtlich in sämtlichen Template-Dateien zu verteilen.