dirgietal

Innovationen schönreden seit 1982

WordPress: Subkategorien loopen, als wären sie Posts

| Keine Kommentare

Manchmal ist die publizierte Einheit sinnvollerweise kein Post, sondern eine Kategorie. Bei einem aktuellen Projekt kam mir diese Situation unter – es soll jeweils eine kleine Samlung von Inhalten präsentiert werden. Die einzelnen Elemente sind zwar Posts, sie einzeln darzustellen scheint aber nur begrenzt sinnvoll.

Zusätzlich soll noch die Beschreibung der Kategorie ausgegeben werden. Sie enthält den Beschreibungstext für die jeweilige Sammlung. Diese Beschreibung kann im Dashboard unter Artikel->Kategorien vergeben werden.

Dabei stellt sich natürlich das Problem, wie man diese Beitrag-gewordenen Kategorien von anderen Kategorien trennt (1.) und wie man sie im Sinne einer klassischen Blog-Archive listet (2.).

1. Das ist recht simpel: Mit einer Elternkategorie für alle Sammlungs-Kategorien.

2. Einfach im Theme-Verzeichnis ein Category-Template (Codex) für die Elternkategorie anlegen (am schnellstem, indem man category.php kopiert), also etwa category-23.php, wenn die Elternkategorie die Nummer 23 hat, und den Loop durch den unten folgenden Code ersetzen. Anschließend nach Gusto anpassen, umrühren, fertig.

[php wraplines=”true”]<?php
$args=array(
‘orderby’ => ‘name’,
‘order’ => ‘ASC’,
‘child_of’ => ‘ELTERNKATEGORIE-NUMMER EINFÜGEN’ );
$categories=get_categories($args);
foreach($categories as $category) {
echo ‘<div><h3><a href="’ . get_category_link( $category->term_id ) . ‘" title="’ . sprintf( __( "Alle Elemente in %s" ), $category->name ) . ‘" ‘ . ‘>’ . $category->name.'</a> </h3> ‘;
echo ‘<p>’. $category->description . ‘</p>’;
echo ‘<strong>Enthält ‘. $category->count . ‘ Elemente</strong></div>’; }
?>[/php]

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.