📅  最后修改于: 2023-12-03 14:48:32.490000             🧑  作者: Mango
在 WordPress 中,每篇文章都有一个类别。类别是指文章所属的分类,对于网站的分类归档和SEO等都有重要的作用。那么,我们如何在编写 WordPress 主题时,获取单篇文章的类别名称呢?下面,我们就来分享一下 PHP 的实现方式。
我们可以通过 WordPress 自带的函数 get_the_category()
来获取当前文章所属的分类。该函数会返回一个数组,其中包含当前文章所属的所有分类的详细信息,如分类ID、分类名称和分类别名等。
我们可以使用 foreach()
循环遍历该数组,从而获取到每个分类的名称。具体实现方法如下:
$categories = get_the_category();
foreach ( $categories as $category ) {
echo $category->name;
}
其中,$categories
保存了当前文章所属的分类信息,$category
则为一个对象,包括分类的各种属性。
下面,我们给出一个完整示例代码,以便更加直观地理解上述方案的实现方法。我们可以将下面的代码保存成一个 PHP 文件,然后在 WordPress 主题模板的需要的位置调用该文件。
<?php
/**
* 获取单篇文章的类别名称
*/
$categories = get_the_category();
$category_list = '';
if ( ! empty( $categories ) ) {
foreach ( $categories as $category ) {
if ( $category_list ) {
$category_list .= ', ';
}
$category_list .= '<a href="' . esc_url( get_category_link( $category->term_id ) ) . '">' . esc_html( $category->name ) . '</a>';
}
}
echo $category_list;
?>
代码解析:
我们首先使用 get_the_category()
函数获取当前文章所属的分类信息,保存在 $categories
变量中。
然后,我们使用 if()
语句来判断是否存在分类信息。如果存在,则使用 foreach()
循环遍历分类信息,获取每个分类的名称。
在循环中,我们使用 if()
语句来判断是否为第一个分类。如果不是,则需要在分类名称之前添加逗号(,
)。
最后,我们将所有分类的名称拼接在一起,使用 echo
输出到页面中。
在 WordPress 中,分类名称会自动链接到该分类的归档页面。如果你需要修改链接的样式或添加其他属性,可以在拼接分类名称时,使用 HTML 添加相应的标签和属性。
如果你的文章没有分类,即 $categories
返回空数组时,上述代码仍会输出一个空字符串。所以,你可以根据需要,使用 if()
语句来判断当前文章是否有分类,并进行相应的处理。
通过上述方式,我们可以很方便地获取到 WordPress 中单篇文章的分类名称。在实际的网站开发中,我们可以将该代码集成到主题模板中,以便更好地展示文章分类信息。