实现这一点的一种方法是检查我们是否在分类页或单个帖子上:
if ( is_category() ) {
$current_url = rtrim($_SERVER["HTTP_HOST"] . $_SERVER["REQUEST_URI"], "/");
$arr_current_url = split("/", $current_url);
$catid = get_category_by_slug( end($arr_current_url) );
} elseif ( is_single() ) {
$cats = get_the_category(); // category object
$postcat = end($cats);
$catid = $cats;
}
对于类别,我们正在解析URL并从其slug中检索类别ID。
在一篇文章中,我们只需使用get_the_category
核心函数,用于检索具有与文章关联的类别的对象,我们从中检索最后一个。
EDIT:以Pieter的代码为例,我只需要做一个小的调整,以选择与该帖子相关的最后一个类别(我假设它是最深的类别),否则就会完美无瑕。
if ( is_category() ) {
$catid = get_queried_object_id();
} elseif ( is_single() ) {
$cats = wp_get_post_terms( get_queried_object_id(), \'category\', array( \'fields\' => \'ids\' ) ); // category object
$catid = end($cats);
}