it-swarm.com.de

Aktuelle Kategorie-ID der aktiven Seite abrufen

Suchen Sie nach der Kategorie-ID einer bestimmten Seite in WordPress, die alle Beiträge dieser bestimmten Kategorie auflistet. Versuchte das unten aber nicht. Ich kann den Kategorienamen mit single_term_title abrufen.

$category = single_term_title("", false);
$catid = get_cat_ID( $category );

$category zeigt zum Beispiel "Entertainment" an. Ich brauche aber auch die ID von "Entertainment". Wie würde ich das angehen?

64
RonnieT

Sie können versuchen, get_the_category() zu verwenden:

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

Wenn es sich um eine Kategorieseite handelt, können Sie die ID der aktuellen Kategorie folgendermaßen erhalten:

$category = get_category( get_query_var( 'cat' ) );
$cat_id = $category->cat_ID;

Wenn Sie die Kategorie-ID einer bestimmten Kategorie auf einer beliebigen Seite erhalten möchten, versuchen Sie es mit: 

$category_id = get_cat_ID('Category Name');
173

Der älteste, aber schnellste Weg, den Sie verwenden können, ist:

$cat_id = get_query_var('cat');
28
Fred K

Ich verwende die Funktion get_queried_object, um die aktuelle Kategorie auf einer Vorlagenseite von category.php abzurufen.

$current_category = get_queried_object();

Jordan Eldredge hat recht, get_the_category eignet sich hier nicht. 

16
Shaffe

Ich denke, einige der oben genannten Dinge funktionieren möglicherweise, aber die Verwendung der Funktion get_the_category erscheint schwierig und kann unerwartete Ergebnisse liefern.

Ich denke, der direkteste und einfachste Weg, auf die Katzen-ID auf einer Kategorieseite zuzugreifen, ist:

$wp_query->query_vars['cat']

Prost

2
Jorge Orpinel

Alternative - 

 $catID = the_category_ID($echo=false);

BEARBEITEN: Obige Funktion ist veraltet, bitte verwenden Sie get_the_category()

1
Bheru Lal Lohar

Ich habe dies für Breadcrumbs auf der Kategorieschablonenseite verwendet:

$cat_obj = $wp_query->get_queried_object();
$thiscat_id = $cat_obj->term_id;
$thiscat = get_category($thiscat_id);
$parentcat = get_category($thiscat->parent);

Ich habe diese Frage gefunden, als ich genau das gesucht habe, was Sie gefragt haben. Leider haben Sie eine falsche Antwort akzeptiert. Für andere Leute, die versuchen, das zu erreichen, was wir erreichen wollten, dachte ich, ich würde die richtige Antwort posten.

$cur_cat = get_cat_ID( single_cat_title("",false) );

Wie Sie sagten, single_term_title("", false); hat den Kategorietitel korrekt zurückgegeben, bin ich nicht sicher, warum Sie Probleme mit Ihrem Code hätten. aber der obige Code funktioniert für mich einwandfrei.

0
Bill

Oben nach Lösungen gesucht, um die Katzen-ID eines Beitrags zu finden, aber es hat nichts funktioniert. Stattdessen wurde Folgendes verwendet:

$obj = get_queried_object();
$c_id = wp_get_post_categories($obj->ID);
0
Robert Sinclair
$cats = wp_get_post_terms( $post->ID, 'product_cat' );
foreach($cats as $cat){
/*check for category having parent or not except category id=1 which is wordpress default category (Uncategorized)*/
  if($cat->parent != '0' && $cat->term_id != 1){
    echo '<h2 class="link"><a href="'.get_category_link($cat->term_id ).'">'.$cat->name.'</a></h2>';
    break;
  }
}
0
Abhijit Patel