web-dev-qa-db-fra.com

WP_Query ne regarde pas la catégorie enfant

Salut à tous, j'ai une boucle qui affiche un article sur une seule page et met le nom de la première catégorie dans la variable $ cat:

$cat = $category[0]->cat_name;?>

Maintenant, après le post, j'ai un lien pour afficher les posts liés basés sur cette catégorie:

$catPosts1 = new WP_Query(array('category_name'=> $cat, 'orderby' => 'Rand', 'posts_per_page' => 1));
    while ($catPosts1->have_posts()) : $catPosts1->the_post();

Le problème que je rencontre si une catégorie d'enfants est sélectionnée pour le premier message I.e. Dans la catégorie Téléphones, la catégorie enfants Accessoires est sélectionnée. Aucun élément n'apparaît dans la zone de lien correspondante. Existe-t-il un moyen de faire en sorte que Wordpress utilise cette catégorie d'enfants? Merci

4
Mark H

Vous devrez obtenir vous-même les catégories enfant ou parent et transmettre tous les ID sous forme de tableau via l'argument category__in de WP_Query . Vous pouvez utiliser get_ancestors pour obtenir la catégorie parent supérieure et obtenir toutes les catégories enfants de ce parent via l'argument child_of de get_categories .

2
Milo