首页 » 博文 » wpbeginner » 最佳主题 » 如何在 WordPress Post 循环中仅显示父类别

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

您想仅显示 WordPress 帖子的父类别吗?

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

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

在 WordPress 循环中仅显示父类别

何时在 WordPress 中仅显示父类别

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

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

显示父级和子级类别

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

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

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

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

在 WordPress 后循环中仅显示父类别

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

首先,您需要将以下代码添加到主题的functions.php文件中或使用代码片段插件,例如WPCode(推荐):

123456789101112131415161718192021222324functionwpb_get_parent_terms($taxonomy= 'category'){    $currentPost= get_post();    $terms= get_the_terms($currentPost->ID, $taxonomy);    if(is_wp_error($terms)) {        /** @var \WP_Error $terms */        thrownew\Exception($terms->get_error_message());    }    $map= array_map(        function($term) use($taxonomy) {            return'<a href="'. esc_url(get_term_link($term->term_id,                    $taxonomy)) . '" title="'. esc_attr($term->name) . '">                ' . $term->name . '                </a>';        },        array_filter($terms, function($term) {            return$term->parent == 0;        })    );    returnimplode(', ', $map);}

WPCode与 ❤️ 主办

在 WordPress 中一键使用

有关更多详细信息,请参阅我们的指南,了解如何在 WordPress 中添加自定义代码而不破坏您的网站

这段代码只是创建了一个新函数wpb_get_parent_terms()。默认情况下,此功能仅显示父类别。

接下来,您需要将此函数放置在您想要单独显示父类别的 WordPress 主题文件中。

要确定要查看哪个模板文件,请参阅我们面向初学者的WordPress 模板层次结构备忘单。

基本上,您会寻找the_category()WordPress 循环内的模板标签。找到它后,您需要将其替换为以下代码:

1<?php wpb_get_parent_terms(); ?>

WPCode与 ❤️ 主办

在 WordPress 中一键使用

此代码将单独显示您的父类别。如果您有多个类别是父类别或独立类别,则还将显示所有此类类别。

仅显示父类别

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

只需将代码修改如下:

1<?php wpb_get_parent_terms( 'product_cat '); ?>

WPCode与 ❤️ 主办

在 WordPress 中一键使用

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

仅显示父产品类别

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

我们希望本文能帮助您了解如何仅显示 WordPress 帖子的父类别。您可能还想查看我们关于如何在循环外显示自定义字段的指南,或者我们的专家为您的网站挑选的最佳人工智能聊天机器人软件

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

Scroll to Top