Für Menschen · Seien Sie begeistert und Sie werden begeistern !

Schon mal versucht in WordPress eine Kategorie zu prüfen, ist sie vorhanden? Wer sich damit beschäftigt, weis, dass es keinen Template Tag dafür gibt und man eine eigene Lösung erstellen muss.
In meiner Lösungskiste habe ich dafür 3 unterschiedliche Möglichkeiten erarbeitet, wobei allerdings eine Lösung nur im Rahmen des Admin-Bereiches funktioniert.
Die einzelnen Lösungen sollen nicht groß erklärt werden und sind sicher im Code verständlich. Alternativ kann man sich auch eine eigene Funktion erstellen und die dann als Aufruf nutzen, quasi ein eigene Template Tag für das Theme. Dazu die Funktion in die functions.php des Themes legen und dann darauf zugreifen.
Um den Code zu verstehen, habe ich als Beispiel entweder die Kategorie mit dem Namen „Uncategorized“ genutzt oder die ID 1. Diese Werte müssen natürlich an das jeweilige Theme angepasst werden.
<?php
/**
* nur im Admin-Bereich
*
* @param string $cat_name
*/
if ( is_admin() && category_exists('uncategorized') ) // cat_slug, cat_name
return true;
/**
* außerhalb des Admin
*
* is_term($term, $taxonomy = '')
* @param int|string $term The term to check
* @param string $taxonomy The taxonomy name to use
*/
if ( is_term( 'uncategorized' , 'category' ) ) // cat_slug, cat_name
return true;
else
return false;
/**
* außerhalb des Admin
*
* get_category( $category, $output = OBJECT, $filter = 'raw' )
* @param int|object $category Category ID or Category row object
* @param string $output Optional. Constant OBJECT, ARRAY_A, or ARRAY_N
* @param string $filter Optional. Default is raw or no WordPress defined filter will applied.
*/
$cat = get_category(1); // cat_ID
if ( !empty( $cat ) )
return true;
?>
bueltge.de [by:ltge.de] wird von Frank Bültge geführt, administriert und gestaltet. Alle Inhalte sind persönlich von mir ausgewählt und erstellt, nach bestem Gewissen und Können, was die Möglichkeit von Fehlern nicht ausschließt.
Das Weblog wird angetrieben von WordPress und aktuell gibt es 980 Beiträge, 18722 Kommentare in 14 Kategorien und 464 Tags.
Das Blog wird liebevoll mit xHTML & CSS in Handarbeit gestaltet. Erstellt mit ♥ zum Befüllen und Erhalten.
Design und Code ist unter Copyright
© 2001 - 2012 bueltge.de [by:ltge.de]
25. März 2009 um 09:44
Das ist kein deutscher Satz
25. März 2009 um 10:25
Variante 3 hat den unbestreitbaren Vortiel, daß sie auch in der Vor-Taxonomy-Ära, also sogar noch mit WP 2.0.x funktioniert
25. März 2009 um 13:25
Hi Sebastian
mag sein, doch sei versichert, so finden die Leut den Artikel garantiert via Google
Danke Frank für die Idee und Ausführung
lg
26. März 2009 um 09:13
Schneller geht's so:
return is_admin() && category_exists('uncategorized');return is_term('uncategorized' , 'category');return !empty(get_category(1));Weniger Code, mehr fun! ^^ Ist ansonsten aber exakt das selbe nur mit gesparten if-Abfragen.