WordPress分类页面获取当前分类ID的方法有很多种,常见使用single_cat_title()的方法是正确的。

正确方法:

在分类页面模板中加入:

$cat= single_cat_title('', false);
echo get_cat_ID($cat);

错误方法:

在分类页面模板中加入:

$category = get_the_category();//默认获取当前所属分类
echo $category[0]->cat_ID; //输出分类 id

这个方法使用率还比较高,说他错误,也不完全。如果当前分类有子分类,那么就会出现错误。因为get_the_category()默认获取分类下第一批文章的id。

举个例子:

分类:新闻-国内,新闻-国外,父级分类为“新闻”,子级分类为:“国内”、“国外”。当一篇文章发布到“国内”或“国外”后,如果这是你浏览“新闻”这个分类页面,使用

$category = get_the_category();//默认获取当前所属分类
echo $category[0]->cat_ID; //输出分类 id

所输出的分类ID只能是“国内”或“国外”分类ID,不会是“新闻”这个分类页面的ID。

参考文档:https://developer.wordpress.org/reference/functions/get_the_category/

分享到: