Estoy tratando de mostrar una lista de publicaciones relacionadas con la categoría X y la etiqueta Y. He probado el siguiente código:
$args = array(
'posts_per_page' => 4,
'tag_id' => $tag_id,
'cat' => $cat_id,
);
query_posts($args);
pero no funciona correctamente y devuelve todas las publicaciones en la categoría.
Me encantaría saber cualquier idea que tengas
query-posts
tags
Hannit Cohen
fuente
fuente
Respuestas:
Editar: consulte a continuación la forma correcta de consultar categorías y etiquetar intersecciones.
fuente
Creo que este es un error en WordPress que se ha comentado en otro lugar, intente usar el nombre de la etiqueta en lugar del ID, entonces debería funcionar:
Háganos saber cómo le va, no estoy seguro de qué sucede con las etiquetas con varias palabras en el nombre.
fuente
Me topé con este mismo problema y lo resolví haciendo una solicitud de MySQL.
en resumen: get_post ($ args) le devolverá las publicaciones que tengan la categoría = MyCategory O la etiqueta = MyTag.
lo que quieres es cambiar tu OR a AND .
mi lógica era ir directamente con una consulta MySQL:
Solía wpdb en lugar de query_post ();
Un poco de código (devolviendo publicaciones publicadas con la categoría MyCat y etiqueta MyTag) :
Esta es una manera sucia de hacerlo, pero espero que ayude =)
fuente
WP_Query
unatax_query
relación AND , sin necesidad de SQL sin formato.Este código funciona:
fuente
fuente