获取活动页面的当前类别ID

试图拉取WordPress中的特定页面的类别ID,列出使用该特定类别的所有post。 试了下面,但没有工作。 我能够使用single_term_title获取类别名称。

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

$category显示“Entertainment”。 但是我也需要“娱乐”的ID。 我将如何去做这件事?

你可以尝试使用get_the_category()

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

如果是分类页面,您可以通过以下方式获取当前分类的ID:

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

如果您想在任何页面上获取任何特定类别的类别标识,请尝试使用:

 $category_id = get_cat_ID('Category Name'); 

您可以使用的最古老但最快的方式是:

 $cat_id = get_query_var('cat'); 

我使用get_queried_object函数来获取category.php模板页面上的当前类别。

 $current_category = get_queried_object(); 

Jordan Eldredge是对的,get_the_category在这里不适合。

我认为上面的一些可能工作,但使用get_the_categoryfunction似乎棘手,可能会给出意想不到的结果。

我认为在类别页面中访问猫ID最直接简单的方法是:

 $wp_query->query_vars['cat'] 

干杯

我在类别模板页面中使用了这个面包:

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

另类 –

  $catID = the_category_ID($echo=false); 

编辑:以上function已被弃用,请使用get_the_category()

我发现这个问题,同时寻找你所问的。 不幸的是你接受了一个不正确的答案 为了其他人试图达到我们想要达到的目的,我想我会发表正确的答案。

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

正如你所说single_term_title("", false); 正确地返回类别标题,我不知道为什么你会有你的代码的麻烦; 但上面的代码完美地为我工作。

 $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; } } 
Interesting Posts