Zur Suche springen Zur Navigation springen Zum Hauptinhalt springen Zum Footer springen

Manchmal möchten wir Inhalte in einem WordPress-Theme nur dann ausgeben, wenn sich der Besucher in einer bestimmten Kategorie bzw. in einer untergeordneten Kategorie befindet. Wenn es sich um ein Kundenprojekt handelt, kann der Kunde natürlich selbst neue Unterkategorien (Child-Categories) anlegen die wir bei der Erstellung des Themes noch nicht kennen und folglich auch nicht berücksichtigen können. Das Snippet muss also auf der ID, bzw. dem Namen der Hauptkategorie (Parent-Category) basieren. Gerade wenn ihr mit Custom Post Types arbeitet kann ein solcher Fall schnell auftreten.

Schulungen von kulturbanause

Intensive Trainings mit hohem Praxisbezug.

Snippet für die functions.php/Template-File

Das folgende Snippet könnt ihr global in der functions.php verwalten oder direkt in das gewünschte Template (z.B. sidebar.php) kopieren.


<?php
function post_is_in_descendant_category( $cats, $_post = null )
{
	foreach ( (array) $cats as $cat ) {
		$descendants = get_term_children( (int) $cat, 'category');
		if ( $descendants && in_category( $descendants, $_post ) )
			return true;
	}
	return false;
}
?>

Ausgabe im Theme

Um den gewünschten Inhalt nun auszugeben, kopiert ihr das nachfolgende Snippet an die Stelle an der die Ausgabe erfolgen soll. Achtet darauf die IDs durch die in Eurem Theme verwendeten IDs zu ersetzen.


<?php if (is_category('3') || post_is_in_descendant_category( 3 )) { ?>

<p>Dieser Text ist sichtbar, wenn die Kategorie mit der ID 3 bzw. eine untergeordnete Kategorie aufgerufen ist. </p>
   
<?php } ?>

codex.wordpress.org/Function_Reference/in_category

Geschrieben von Jonas

thumb

Jonas ist Gründer der Webdesign Agentur kulturbanause® und des kulturbanause® Blogs. Er übernimmt Projektleitung, Grafik sowie Frontend- und WordPress-Development und hat zahlreiche Fachbücher und Video-Trainings veröffentlicht. Als Dozent leitet er Schulungen und Workshops. Am liebsten beschäftigt er sich mit Projekten und Themen, die ihn gleichermaßen konzeptionell als auch gestalterisch und technisch fordern.

Seminare mit Jonas Hellwig anzeigenJonas Hellwig bei Xing

Feedback & Ergänzungen – 1 Kommentar

  1. Michael
    schrieb am 29.08.2011 um 22:33 Uhr:

    Sowas in der Art wurde hier schonmal vor langer Zeit gepostet: http://wpengineer.com/876/exclude-subcategories-in-a-loop/

    Antworten

Schreibe einen Kommentar zu Michael Antworten abbrechen

Wir freuen uns über Anregungen, Ergänzungen oder Hinweise zu Fehlern. Wir lesen jeden Eintrag, veröffentlichen aber nur, was den Inhalt sinnvoll ergänzt.

WordPress-Projekte mit kulturbanause

Wir wissen wovon wir reden. Wir setzen WordPress seit über 10 Jahren erfolgreich ein und realisieren maßgeschneiderte Websites auf Basis dieses großartigen CMS.

WordPress-Leistungsangebot →

Schulungen von kulturbanause

Wir bieten Seminare und Workshops zu den Themen Konzept, Design und Development. Immer up-to-date, praxisnah, kurzweilig und mit dem notwendigen Blick über den Tellerrand.

Übersicht Schulungsthemen →