我们在开发wordpress主题的时候经常要获取分类目录id,根据所在页面的位置获取分类id的方法各不一样下面由小编具体介绍。
1,在内配分类页面 category.php
a,全局变量$cat直接存储着当前的分类id
global $cat;
var_dump($cat);

b,通过get_query_var函数获取分类目录id
get_query_var('cat')
c,通过get_queried_object函数获取分类目录id
$cat_id = get_queried_object()->term_id;
echo $cat_id;
get_queried_object_id() //直接返回当前分类id
2,在自定义分类页面taxonomy或taxonomy-slug.php。slug是指自定义分类法名称,如我注册了一个叫”product_category”的自定义分类法。那文件名应该是taxonomy-product_category.php。
a,通过全局变量获取分类id
global $term; //分类的别名
global $taxonomy;//自定义分类法名称
$tterm_obj = get_term_by( 'slug', $term, $taxonomy );
$term_id = $tterm_obj->term_id;
b,通过get_queried_object函数获取分类id
get_queried_object()->term_id;
get_queried_object_id()
c,通过get_term_by函数获取分类id
$termId = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) )->term_id;
var_dump($termId);
3,在普通文章页面 single.php
a,通过get_the_terms函数获取文章所属分类id
$term_id = get_the_terms($post,'category')[0]->term_id;
echo $term_id;
b,通过get_the_category获取文章所属id
$term_id = get_the_category()[0]->term_id;
echo $term_id;
4,在自定义文章类型页面 single-slug.php。slug是指自定义文章类型名称,假如我注册了一个叫”product”的自定义文章类型那文件名应是single-product.php
$taxonomies = get_the_taxonomies($post);
if ($taxonomies) {
$taxonomy = array_keys($taxonomies)[0];
$terms = get_the_terms($post->ID, $taxonomy);
echo $terms[0]->term_id;
}
本文由 好主题 原创整理,致力于分享实用的 WordPress 建站知识与主题开发经验。 我们专注于提供高质量的 WordPress企业主题 资源,帮助中小企业轻松构建专业网站。 转载请注明来源,并保留原文链接,感谢您的支持与理解。