我发现很多关于人们拉扯slug或者WordPress帖子顶级类别的ID的帖子,但我需要特别提到这个名字。
这是目前的结构:
Spring 2016 (slug 2016-spring)
Feature (feature)
Giving Highlights (giving-highlights)
etc.
我的代码在拉顶级slug / nicename(2016年春天)时非常有效,但我需要它来返回名称/ cat_name(2016年春季)。
我正在使用的代码是:
$category = get_the_category();
$cat_tree = get_category_parents($category[0]->term_id, FALSE, ':', TRUE);
$top_cat = split(':',$cat_tree);
$parent = $top_cat[0];
echo $parent;
为了取名,我需要改变什么?
答案 0 :(得分:1)
为什么不尝试使用get_category()
简单地提取父类别的名称?
试试这个
$parent = $top_cat[0];
$pcat = get_category( $parent ) ;
// Then
echo $pcat->cat_name ;
// OR
echo $pcat->category_nicename ;
答案 1 :(得分:1)
这是我在当前环境中使用的解决方案:
$categories = get_the_category();
if ( ! empty($categories)) {
if (sizeOf($categories) > 1) {
$output = $categories[1]->name;
} elseif (sizeOf($categories) == 1) {
$output = $categories[0]->name;
} else {
$output = 'Please Assign A Category';
}
}
我们的情况是某些帖子只使用顶级类别,而其他帖子则使用更深层次的类别进行排序。你的情况显然会有所不同;如果您的所有帖子在树中至少有1个深度,您可以使用$output=$categories[1]->name;
行,这样就可以了。为了以防万一,我们的情况会更加强大。