WordPress & Webwork

WordPress: bereinigten Namen (Slug) der Kategorie ausgeben

Ich habe den Tipp zwar gestern im Newsletter erwähnt, wollte ihn dennoch auch hier im Blog ausbreiten, da ich denke, dass es einigen nutzen könnte. Es geht darum, wie man den sog. Slug, also den bereinigten Namen, im Theme ausgeben kann.

Mit Hilfe der Funktion single_cat_title(''); kann ich an einer bestimmten Stelle im Theme den Namen der Kategorie ausgeben. Im Artikel Infoboxen im Kategorie-Archiv sieht man die Funktion beispielhaft im Einsatz.

Das Problem an single_cat_title(''); ist, dass es den Namen so ausgibt, wie er geschrieben wurde, also inkl. Umlaute und Leerzeichen. Möchte man dies nicht, zum Beispiel weil man für jedes Kategorie-Archiv ein Bild einbinden möchte, welches sich zum Teil aus dem Kategorienamen zusammensetzt, dann braucht man den bereinigten Titel, der die Leerzeichen und Umlaute entschärft. Also anstatt "Ein schöner Kategoriename" soll "ein-schoener-kategoriename" ausgegeben werden.

Das kann man u.a. mit dem folgendem Code erreichen:

<?php
if (is_category()) {
  $cat = get_query_var('cat');
  $yourcat = get_category ($cat);
  echo 'the slug is '. $yourcat->slug;
 }
?>

Hier gefunden.