要获取给定父类别slug的子类别,请使用以下组合get_category_by_slug()
和get_categories()
.
后一个函数将返回与指定查询参数数组匹配的类别对象数组;前者将根据类别的slug返回其ID。
例如:
<?php
$motorbike_child_cat_args = array(
\'child_of\' => get_category_by_slug( \'motorbikes\' )
);
$motorbike_child_cats = get_categories( $motorbike_child_cat_args );
?>
然后,可以对类别对象数组执行任何操作。例如,要获取子类别名称的数组,请执行以下操作:
<?php
$motorbike_child_cat_names = array();
foreach ( $motorbike_child_cats as $child_cat ) {
$motorbike_child_cat_names[] = $child_cat->name;
}
?>
真的,在那一点上,你该怎么处理它取决于你自己。
EDIT
如果需要获取任意帖子的子类别,则可以使用
get_the_category()
.
如果您在循环中,只需调用get_the_category()
; 如果您在循环之外,则需要将Post ID传递给调用:get_the_category( $id )
.
因此,例如,要构建当前帖子的子类别(无论父类别)的名称数组,请执行以下操作:
<?php
$my_post_categories = get_the_category();
$my_post_child_cats = array();
foreach ( $my_post_categories as $post_cat ) {
if ( 0 != $post_cat->category_parent ) {
$my_post_child_cats[] = $post_cat->cat_name;
}
}
?>
或者,例如,构建当前帖子“motorbike”子类别的名称数组:
<?php
$my_post_categories = get_the_category();
$motorbikes_child_cats = array();
foreach ( $my_post_categories as $post_cat ) {
if ( \'motorbikes\' == $post_cat->category_parent ) {
$motorbikes_child_cats[] = $post_cat->cat_name;
}
}
?>
这就是你想要的吗?
EDIT 2
如果您只需要获取帖子的所有类别:
<?php
$all_post_categories = get_the_category();
$my_post_cats = array();
foreach ( $my_post_categories as $post_cat ) {
$my_post_cats[] = $post_cat->cat_name;
}
?>
那会给你
all 当前职位的类别。我不知道怎么做
motorbikes
将缓动因子分类到这个问题中。