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/