从单个帖子中获取 WordPress 类别

发布于 2024-10-04 06:31:11 字数 883 浏览 3 评论 0原文

我正在完成一个 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 获取类别。

PS 上述类别是使用此设置的众多类别之一,这就是为什么我无法对其进行硬编码。

I'm finishing up a WP theme, and I'm on the single.php template. I'm having some issues because I need to access the parent category that a post is in in order to display certain images and XML content.

Here is an example of what I'm talking about. The following is the end url of a single post:

/andrew/leaf-art-2/

/andrew/ is the category, and leaf-art-2 is the single post. When I am on the single post, I am having trouble getting single_cat_title(); to return the category that the current post is in. I am using single_cat_title(); instead of the_category(); because it displays the string value of the category which I then use to place a picture of the artist (whose category this is) on their posts. I don't have any use for the url, I just need the string with the category name.

Any good ways of doing this? I have been searching the Wordpress Codex and lots of forums, and haven't found any answers yet.


The following was my original post.

I have set up a category called "artists" which when I run single_cat_title("", false); I can get the string value of the category and then use it to search for the appropriate artist image using XML.

This works fine on the category.php template page.

The problem is that when I'm actually inside of a single post that has the "artists" category, single_cat_title(); doesn't output any information to the page, thereby keeping me from accessing the XML data.

I need to, while in the "artists" > "sample" post, be able to get from WP the category.

P.S. the above category is one of many that is using this setup, which is why I can't hardcode it.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

谈场末日恋爱 2024-10-11 06:31:11

get_the_category 怎么样?

然后你可以做

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

How about get_the_category?

You can then do

$category = get_the_category();
$firstCategory = $category[0]->cat_name;
子栖 2024-10-11 06:31:11

对于懒人和学习者,将其放入您的主题中,Rfvgyhn 的完整代码

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

For the lazy and the learning, to put it into your theme, Rfvgyhn's full code

<?php $category = get_the_category();
$firstCategory = $category[0]->cat_name; echo $firstCategory;?>
镜花水月 2024-10-11 06:31:11

在没有循环单个帖子中使用永久链接获取类别名称

the_category(',', '', get_the_ID())

如果您只想要第一个:

get_the_category(get_the_ID())[0]

Get category names with permalink in single post without loop

the_category(',', '', get_the_ID())

If you want only the first one:

get_the_category(get_the_ID())[0]
薄荷→糖丶微凉 2024-10-11 06:31:11
<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>
<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>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文