web-dev-qa-db-fra.com

Comment puis-je obtenir les ID de catégories si plusieurs catégories sont demandées via l'URI?

Disons que j'ai deux catégories, 'color' et 'temperature'. Chacun a un certain nombre de sous-catégories.

Wordpress affiche très bien les publications dans les catégories demandées lorsque je vais à une URL comme celle-ci:

http://www.example.com/category/pink+warm

Comment puis-je obtenir ces catégories (identifiants ou slugs) dans le modèle de catégorie?

UPDATE: Merci à Rarst; Je vais analyser $wp_query->tax_query->queries.

ps. btw, http://www.example.com/category/blue,yellow donne des articles dans n’importe laquelle des catégories blue OR yellow. Agréable ,)

pps. ET bien sûr, il peut y avoir plus de deux catégories.

1
brownian

HM hm. WordPress est peut-être bon pour faire ce travail, mais pas trop pour rendre facile de travailler avec . get_queried_object() est généralement un bon moyen d'accéder à un tel contexte, mais dans ce cas, il ne contiendra que le premier et ignorera le reste.

Vous devrez probablement extraire cette information du $wp_query->tax_query->queries, qui contiendra quelque chose comme ceci:

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
    ]
]
0
Rarst