我们在开发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;
}
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。