如果通过URI请求多个类别,我如何获取类别ID?

时间:2014-12-27 作者:brownian

比方说,我有两个类别,\'color\' 和\'temperature\'. 每一个都有许多子类别。

当我转到如下URL时,Wordpress在显示请求类别中的帖子方面做得很好:

http://www.example.com/category/pink+warm
如何在类别模板中获取这些类别(ID或SLUG)?

UPDATE: 感谢Rarst;我会分析$wp_query->tax_query->queries.

顺便说一句,http://www.example.com/category/blue,yellow 在任何blueyellow 类别。很好,)

pps。当然,可能有两个以上的类别。

1 个回复
最合适的回答,由SO网友:Rarst 整理而成

Hm-Hm.WordPress可能擅长于实现这一点,但不太擅长使使用它变得方便。典型的get_queried_object() 是访问此类上下文的好方法,但在这种情况下,它只会保留第一个术语,而忽略其余术语。

您可能需要从$wp_query->tax_query->queries, 其中包含以下内容:

array(2) [
    array(5) [
        \'taxonomy\' => string (8) "category"
        \'terms\' => array(1) [
            string (12) "post-formats"
        ]
        \'field\' => string (4) "slug"
        \'operator\' => string (2) "IN"
        \'include_children\' => bool TRUE
    ]
    array(5) [
        \'taxonomy\' => string (8) "category"
        \'terms\' => array(1) [
            string (6) "markup"
        ]
        \'field\' => string (4) "slug"
        \'operator\' => string (2) "IN"
        \'include_children\' => bool TRUE
    ]
]

结束