Tags und Kategorien für Posts

Das hier verwendete Braille-Theme hat einige Besonderheiten. So gibt es weder in der Einzel- und der Archivansicht, noch auf der Startseite eine Anzeige für Tags und Kategorien:

Tags und Kategorien

Diese sind mir persönlich aber wichtig. Also müssen sie eingefügt werden. Für die Einzelseiten ist das absolut kein Problem. Einfach folgende Code in die single.php einfügen:


<?php the_content(); ?>
<p class=“post-tags“><?php if (function_exists(‚the_tags‘)) the_tags(‚Tags: ‚, ‚, ‚, ‚<br/>); ?></p>
<p class=“post-cats“>Kategorien: <?php the_category(‚ ‚); ?></p><br/>
<div id=“comments“>

Leider gibt es bei diesem Template weder für die Suchergebnisse noch die Archivseite eine eigene .php-Datei. Alle diese Funktionen werden in der index.php realisiert. Kategorien und Tags sollen allerdings nur auf der Startseite und den Archivseiten angezeigt werden. Bei der Suche kann es passieren, dass Seiten und Artikel gleichzeitig angezeigt werden. Beim Suchergebnis würden Kategorien und Tags auch für die Seiten angezeigt werden. Das macht jedoch wenig Sinn. Also müssen wir WordPress hier sagen, dass es Tags und Kategorien nur auf den gewünschten Seiten anzeigt. Dazu kommt folgender Code in die index.php:


<?php if (is_home()) the_tags(‚<p class=“post-tags“>Tags: ‚, ‚, ‚, ‚</p><p class=“post-cats“>Kategorien: ‚) & the_category(‚ ‚); ?></p>
<?php if (is_archive()) the_tags(‚<p class=“post-tags“>Tags: ‚, ‚, ‚, ‚</p><p class=“post-cats“>Kategorien: ‚) & the_category(‚ ‚); ?></p>
<?php if (is_search()) echo „<br/>“ ; ?>

Hier hätten wir auch schon das nächste Problem. Wie man sieht, kann die Konditionalfunktion the_category keine Argumente aufnehmen. Also muss man ein wenig Schummeln und diese etwas merkwürdige und nicht ganz korrekt Form wählen. Damit bei einer Suche nicht zwei ungeöffnete „p“-Tags geschlossen werden, muss die Konditionalfunktion is_search her. Allerdings funktioniert das ganze System nur dann, wenn alle Artikel getaggt sind. Ansonsten steht unter dem Post nur die Kategorie ohne Formatierung.
Die Bilder vor den einzelnen Zeilen sind als background in der .css-Datei implementiert und mit ein wenig Geschick positioniert. Die Abgrenzung erfolgt per border-top und border-bottom.

Getagged mit: , , , , , ,
Veröffentlicht unter Wordpress

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

*