如何在WordPress模板中获取父级分类名称?我可以通过父级分类查询文章吗?

5

我曾在WordPress论坛上尝试寻求帮助,但没有成功。无论如何,这是我的问题...

假设我正在创建10个父类别和每个父类别的2个子类别。我的WordPress文章属于特定父类别的一个子类别

如何仅获取父类别名称?我不想要子类别名称?有哪些WordPress代码可以实现这一点?

还有一个问题...

是否可能通过使用:

来查询子类别的父类别的文章,而不是输入cat=1或特定类别的名称,我能做些什么呢?

这样它就会自动插入并查询任何单击的特定子类别的父级别的文章吗?


您的帖子似乎缺少一些文本。 - JohnK
4个回答

5

要获取父类别名称,使用get_cat_name()函数,并将父类别作为参数,如下所示:

$cat = get_the_category();
$parentCatName = get_cat_name($cat[0]->parent);

3

这些答案对我都没有用。

最终,我成功地展示了文章的顶级分类名称,代码如下:

        $categories = get_the_category();
        $category= '';
        foreach($categories as $childcat) {
            $parentcat = $childcat->category_parent;
            if($parentcat>0){
                $category = get_cat_name($parentcat);
                continue;
             }
        }
        $category = (strlen($category)>0)? $category :  $categories[0]->cat_name;

1
发现了这个答案,它可以给出第一个祖先 slug。很容易修改它来给你名称。
在这里找到它:http://nick.boldison.com/wordpress/wordpress-get-top-level-parent-category/
<?php
// get parent category slug
$parentCatList = get_category_parents($cat,false,',');
$parentCatListArray = split(",",$parentCatList);
$topParentName = $parentCatListArray[0];
$sdacReplace = array(" " => "-", "(" => "", ")" => "");
$topParent = strtolower(strtr($topParentName,$sdacReplace));
?>

实际上,要获取父名称:
// get parent category slug
$parentCatList = get_category_parents($cat,false,',');
$parentCatListArray = split(",",$parentCatList);
$topParentName = $parentCatListArray[0];

-1

Wordpress文档中有许多答案和示例:

获取分类父级

获取分类

(看起来你原始问题中的一些代码片段或其他文本没有传递过来)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接