从单个帖子中获取 Wordpress 类别

Posted

技术标签:

【中文标题】从单个帖子中获取 Wordpress 类别【英文标题】:Get Wordpress Category from Single Post 【发布时间】:2011-05-16 10:46:31 【问题描述】:

我正在完成一个 WP 主题,我正在使用 single.php 模板。我遇到了一些问题,因为我需要访问帖子所在的父类别才能显示某些图像和 XML 内容。

这是我所说的一个例子。以下为单篇文章的结束地址:

/andrew/leaf-art-2/

/andrew/ 是类别,leaf-art-2 是单个帖子。当我在单个帖子上时,我无法让single_cat_title(); 返回当前帖子所在的类别。我使用single_cat_title(); 而不是the_category();,因为它显示了我然后的类别的字符串值用于在他们的帖子上放置艺术家(这是其类别)的图片。我对 url 没有任何用处,我只需要带有类别名称的字符串。

有什么好的方法吗?我一直在搜索 Wordpress Codex 和很多论坛,但还没有找到任何答案。


以下是我的原帖。

我设置了一个名为“艺术家”的类别,当我运行 single_cat_title("", false); 时,我可以获取该类别的字符串值,然后使用它使用 XML 搜索合适的艺术家图像。

这在 category.php 模板页面上运行良好。

问题在于,当我实际上在一个具有“艺术家”类别的帖子中时,single_cat_title();不向页面输出任何信息,从而使我无法访问 XML 数据。

我需要,在“艺术家”>“示例”帖子中,能够从 WP 获得类别。

附注上述类别是使用此设置的众多类别之一,这就是我无法对其进行硬编码的原因。

【问题讨论】:

【参考方案1】:

get_the_category怎么样?

你可以这样做

$category = get_the_category();
$firstCategory = $category[0]->cat_name;

【讨论】:

感谢您的回复。我看到了这一点,但假设 [0] 会从所有类别的第一个而不是帖子发布的所有类别中的第一个调用。谢谢! 旁注:如果您有自定义分类法(不是默认的“类别”),可以使用get_the_terms(); 请注意,$category[0] 会在帖子没有分类时生成警告;明智的做法是与if(!empty($category))$firstCategory = $category[0]->cat_name; 联系【参考方案2】:

对于懒人和学习者,把它放到你的主题中,Rfvgyhn 的完整代码

<?php $category = get_the_category();
$firstCategory = $category[0]->cat_name; echo $firstCategory;?>

【讨论】:

【参考方案3】:
<div class="post_category">
        <?php $category = get_the_category();
             $allcategory = get_the_category(); 
        foreach ($allcategory as $category) 
        ?>
           <a class="btn"><?php echo $category->cat_name;; ?></a>
        <?php 
        
        ?>
 </div>

【讨论】:

以上是关于从单个帖子中获取 Wordpress 类别的主要内容,如果未能解决你的问题,请参考以下文章

从 Wordpress 中自定义帖子类型的类别中获取 ACF 文本字段值

在单个自定义帖子类型中显示所选类别(Wordpress)

php 在单个帖子#wordpress上显示自定义类别

WordPress中单个类别的存档页面

Wordpress - 我如何从其他自定义帖子中获取_categories?

在 wordpress 中获取 2 级类别中的下一个、上一个帖子