如何在多个类别的情况下获得一个帖子的正确类别?

时间:2017-07-18 作者:Kola

我有一个自定义的帖子类型,叫做recipes。在这篇文章中,我有很多食谱。所有这些食谱都分为几个类别。

问题:现在考虑分配给多个类别的职位。单打。php的文章,如果我试图检索文章的类别,那么每次我都会得到按字母顺序排在第一位的类别。

我已经尝试从url检索类别,但只有通过类别模板转到配方模板时才可能。。。

如果我们有一个职位被分配到多个类别,如何解决这个问题。。。请帮忙

1 个回复
SO网友:Chris Cox

如果一篇文章有多个类别,那么就没有“正确”的类别。任何一个都是正确的,这是一种多对一的关系。

由于一篇文章可以属于多个类别,因此任何函数都假定为一个类别是错误的。需要一个数组。

如果您希望基于一个或多个类别应用条件,您可以尝试if(has_category($category)) (如果不在循环中,则需要将post对象作为第二个参数传递)。

从注释编辑:

if(has_category(\'fitness\')) { 
    // Example custom field 
    echo get_post_meta($post->ID, \'fibre\', true);
} 
if has_category(\'children\') {
    // Example custom field  
    echo get_post_meta($post->ID, \'protein\', true);
}

结束

相关推荐

Categories' hierarchy in URL

我目前正在处理的网站中的帖子都有多个层次分类。例如:Source - Books -- Moby Dick -- Sherlock Holmes 永久链接设置为/%category%/%postname%/. 然而,一篇文章的URL并不包括所有的子类别——我得到的只是site.com/source/books/*postname*, 尽管这篇文章在来源上没有分类,但只在书籍+白鲸上。有人能帮我找出如何调整这种行为吗?非常感谢。