J'essaie d'afficher une liste de messages liés à la catégorie X et à la balise Y. J'ai essayé le code suivant:
$args = array(
'posts_per_page' => 4,
'tag_id' => $tag_id,
'cat' => $cat_id,
);
query_posts($args);
mais cela ne fonctionne pas correctement et renvoie tous les messages de la catégorie.
J'adorerais entendre toute idée que vous pourriez avoir
query-posts
tags
hannit cohen
la source
la source
Réponses:
Modifier: voir ci-dessous pour savoir comment interroger les intersections de catégories et de balises.
la source
Je pense que c'est un bug dans WordPress qui a été commenté ailleurs, essayez d'utiliser le nom de la balise plutôt que l'ID, alors cela devrait fonctionner:
Faites-nous savoir comment vous vous en sortez, ne savez pas ce qui se passe avec les balises avec plusieurs mots dans le nom.
la source
Je suis tombé sur ce même problème et l'ai résolu en faisant une demande MySQL.
en bref: get_post ($ args) vous renverra des articles qui ont la catégorie = MyCategory OU la balise = MyTag.
ce que vous voulez, c'est changer votre OU en ET .
ma logique était d'aller directement avec une requête MySQL:
J'ai utilisé wpdb au lieu de query_post ();
Un peu de code (renvoyant les articles publiés avec la catégorie MyCat et la balise MyTag) :
C'est une sale façon de le faire mais j'espère que ça aide =)
la source
WP_Query
et unetax_query
relation ET , pas besoin de SQL brut.Ce code fonctionne:
la source
la source