如何在 WordPress 帖子循环中仅显示父类别

您是否只想显示 WordPress 帖子的父类别?

默认情况下,大多数 WordPress 主题将列出与帖子关联的所有类别。但是,有些用户可能只想显示父类别,而排除子类别。

在本文中,我们将向您展示如何修改 WordPress 帖子循环以仅在单个帖子上显示父类别。

在 WordPress 循环中仅显示父类别

何时在 WordPress 中仅显示父类别

许多网站所有者使用父类别和子类别为其网站创建网站结构。

例如,旅游博客可能具有按类别组织的旅游目的地,其中每个地区是父类别,城市是子类别。

显示的父子类别

同样,美食博客可能会发布按父子类别组织的食谱。例如,父类别可以是美食类型,子类别可以是菜肴类型。

现在,大多数 WordPress 主题使用the_category() 模板标签来列出与帖子相关的所有类别。

这个功能很高效,但它会按字母顺序显示所有类别,完全忽略父/子关系。

话虽如此,让我们看看如何更改此行为并仅在 WordPress 循环中显示父类别。

在 WordPress Post Loop 中仅显示父类别

对于本教程,您需要编辑 WordPress 主题文件。如果您之前没有这样做过,请查看我们关于如何在 WordPress 中复制和粘贴代码片段的文章。

首先,您需要将以下代码添加到主题的functions.php文件或特定于站点的插件中。

function wpb_get_parent_terms($taxonomy = ‘category’){    $currentPost = get_post();    $terms       = get_the_terms($currentPost->ID, $taxonomy);     if (is_wp_error($terms)) {        /** @var \WP_Error $terms */        throw new \Exception($terms->get_error_message());    }     $map = array_map(        function ($term) use ($taxonomy) {            return ‘

此代码也适用于所有其他分类法。例如,WooCommerce 产品类别或您可能拥有的任何自定义分类。

只需像这样修改代码:

此代码将显示 WooCommerce 商店的产品类别,并且仅显示产品的父类别或独立类别。

仅显示父产品类别

如果要显示自定义分类法,请将 product_cat 替换为您的自定义分类法名称。

我们希望本文能帮助您了解如何仅显示 WordPress 帖子的父类别。您可能还想查看这些其他 WordPress 类别的技巧和技巧,或者查看我们的指南,了解如何在不编写代码的情况下创建自定义 WordPress 页面。