Vorhin bekam ich die Frage, wie man innerhalb der Artikelüberschrift den Namen der jeweiligen Kategorie ausgeben kann, zum Beispiel so:
Kategoriename: Die eigentliche Überschrift
Der einfachste Weg ist uns leider versperrt. WordPress hat zwar ein Template-Tag mit dem Namen single_cat_title(). Dieses Tag gibt auch brav den Namen der jeweiligen Kategorie aus … blöderweise funktioniert dieses Template-Tag nur außerhalb des Loops.
Es gibt zwar Hinweise und Anleitungen, wie man dieses Template-Tag auch innerhalb des Loops benutzbar machen kann, aber entweder gab es Fehlermeldungen oder es wurde lediglich ein leerer Wert ausgeliefert.
Aber glücklicherweise fand ich in der offiziellen Dokumentation unter dem Tag get_the_category() die Lösung:
<?php
$category = get_the_category();
echo $category[0]->cat_name;
?>
Dieses Code-Fragment gibt den Namen der ersten Kategorie, des jeweiligen Artikels aus. Und so könnte eine beispielhafte Integration in eigenes Theme ausschauen:
<?php if (have_posts()) : while (have_posts()) : the_post(); ?>
<?php $category = get_the_category(); ?>
<h2><a href="<?php the_permalink() ?>"><?php echo $category[0]->cat_name; ?>: <?php the_title(); ?></a></h2>
Habe es vorhin in zwei Weblogs getestet und es funktioniert ohne Probleme.
Hinweis:
WordPress 3.3 für Autoren & Redakteure
Der schnelle und unkomplizierte Einstieg auf 45 DIN-A4-Seiten
1. – Rata
Kommentar vom 23. February 2011 um 08:30
Danke Vladimir, das scheint mir sehr gut brauchbar, wenn man WordPress statt als Blog als „CMS-Normalo“ verwenden will.
Lieber Gruß
Rata
2. – trendy
Kommentar vom 26. February 2011 um 10:32
Ich würde die Kategorie aber eher hinten dran setzen als ganz zu Anfang.
Bis dato hatte ich solche Ideen nur für den Title Tag gesehen. Die Kategorie aber gleich direkt in die Artikelüberschrift reinzupacken ist auch interessant.
3. – hash
Kommentar vom 13. June 2011 um 14:16
Hat wieder einmal hervorragend funktioniert!
Vielen Dank!
4. – Ivo
Kommentar vom 12. February 2012 um 18:06
Hallo Vladimir,
bin eben wiedermal bei dir gelandet, aber habe leider nicht die passende Antwort gefunden.
Und zwar möchte ich jeder Kategorien einen title und description geben. Eventuell hast du einen Tipp für mich.
Grüße Ivo