2016-12-22 1 views
1

Ich habe ein Problem mit meiner Kategorie Vorlage. Ich verwende die Funktion get_the_category(), um die aktuelle Kategorie der Seite zu erhalten.Wordpress - Mehrere Kategorien in einer Kategorie Seite

Ich nehme das erste Array, um die Beiträge auszuwählen und in meinem benutzerdefinierten Menü die aktuelle Kategorie anzuzeigen.

Es funktioniert gut für alle meine Kategorien außer einer. In dieser Kategorie (die genau die gleichen wie die anderen ist, keine Besonderheiten), geben get_the_category() 2 Kategorien statt einer zurück, und die erste Kategorie des Arrays ist nicht die gute.

Wie kann ich das beheben?

EDIT: Dies ist die Rückkehr Array der get_the_category() Funktion:

Array 
(
    [0] => WP_Term Object 
    (
     [term_id] => 152 
     [name] => Press 
     [slug] => press 
     [term_group] => 0 
     [term_taxonomy_id] => 152 
     [taxonomy] => category 
     [description] => Press 
     [parent] => 0 
     [count] => 46 
     [filter] => raw 
     [object_id] => 32182 
     [cat_ID] => 152 
     [category_count] => 46 
     [category_description] => Press 
     [cat_name] => Press 
     [category_nicename] => press 
     [category_parent] => 0 
    ) 

[1] => WP_Term Object 
    (
     [term_id] => 178 
     [name] => The Fundation 
     [slug] => the-fundation 
     [term_group] => 0 
     [term_taxonomy_id] => 178 
     [taxonomy] => category 
     [description] => 
     [parent] => 0 
     [count] => 10 
     [filter] => raw 
     [object_id] => 32182 
     [cat_ID] => 178 
     [category_count] => 10 
     [category_description] => 
     [cat_name] => The Fundation 
     [category_nicename] => the-fundation 
     [category_parent] => 0 
    ) 

) 

ich diese

+0

Fertig. Auf der Fundation-Seite habe ich die Pressekategorie zuerst, komisch, nicht wahr? – DarkCid

+0

Es scheint, dass Sie mehrere Kategorien für einzelne Post verwendet haben. In diesem Fall können Sie die erste verwenden. – SpritsDracula

+0

Nun, nein, weil ich get_the_category verwende, um diese ID zu bekommen. – DarkCid

Antwort

0

Try this the-Fundation für die Kategorie Seite bekam.

$categories = get_the_category(); 
$category_id = $categories[0]->cat_ID; 

oder

get_query_var('cat'); 
+0

Danke, die get_query_var ('cat'); Lösung funktioniert gut. – DarkCid

+0

Sie sind willkommen. – vel

0

get_the_category() gibt ein Array von WP_Term Objekte (Kategorien) der aktuellen Post zugeordnet, ist es nicht die aktuelle Kategorie zurückzukehren. Wenn Sie auf einer Kategorieseite sind, wird standardmäßig der erste Beitrag innerhalb dieser Kategorie verwendet.

Um die aktuelle Kategorie erhalten Sie ab get_queried_object() auf der Kategorieseite aufrufen besser sein würde:

$category = get_queried_object(); 

if ($category instanceof WP_Term) { 
    $category_id = $category->term_id; 
} 
Verwandte Themen