get_the_category()
应在(post)循环中使用或与$post_id
参数在您的代码中$cat_now
此时可能是一个空数组,因此在0位置没有任何内容。
而且get_the_category()
返回的数组WP_Term
对象,这些对象没有名为category_parent
, 但只是parent
. ,其中parent
应使用的属性。
如果要在中列出某个类别的子类别category.php
, 那么下面的代码应该可以工作了。
/**
* For category.php
*/
$current_category = get_queried_object(); // should be WP_Term object in this context
$category_list = \'\';
// $current_category->parent is 0 (i.e. empty), if top level category
if ( ! empty( $current_category->parent ) ) {
$category_list = wp_list_categories(array(
\'child_of\' => $current_category->parent,
));
// var_dump($category_list);
}
只是为了好玩,举个例子,让孩子们在帖子的第一类。
/**
* Used e.g. in single.php
* get_the_id() is not required, if get_the_category() is used in the Loop
*/
$current_categories = get_the_category( get_the_id() ); // Array of WP_Term objects, one for each category assigned to the post.
$category_list = \'\';
if ( ! empty( $current_categories[0]->parent ) && $current_categories[0]->parent ) {
$category_list = wp_list_categories(array(
\'child_of\' => $current_categories[0]->parent,
));
// var_dump($category_list);
}