📜  wordpress 单篇文章获取类别名称 - PHP (1)

📅  最后修改于: 2023-12-03 14:48:32.490000             🧑  作者: Mango

Wordpress 单篇文章获取类别名称 - PHP

在 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;
?>

代码解析:

  1. 我们首先使用 get_the_category() 函数获取当前文章所属的分类信息,保存在 $categories 变量中。

  2. 然后,我们使用 if() 语句来判断是否存在分类信息。如果存在,则使用 foreach() 循环遍历分类信息,获取每个分类的名称。

  3. 在循环中,我们使用 if() 语句来判断是否为第一个分类。如果不是,则需要在分类名称之前添加逗号(,)。

  4. 最后,我们将所有分类的名称拼接在一起,使用 echo 输出到页面中。

注意事项
  1. 在 WordPress 中,分类名称会自动链接到该分类的归档页面。如果你需要修改链接的样式或添加其他属性,可以在拼接分类名称时,使用 HTML 添加相应的标签和属性。

  2. 如果你的文章没有分类,即 $categories 返回空数组时,上述代码仍会输出一个空字符串。所以,你可以根据需要,使用 if() 语句来判断当前文章是否有分类,并进行相应的处理。

结束语

通过上述方式,我们可以很方便地获取到 WordPress 中单篇文章的分类名称。在实际的网站开发中,我们可以将该代码集成到主题模板中,以便更好地展示文章分类信息。