Estou tentando mostrar uma lista de postagens relacionadas à categoria X e à tag Y. Tentei o seguinte código:
$args = array(
'posts_per_page' => 4,
'tag_id' => $tag_id,
'cat' => $cat_id,
);
query_posts($args);
mas não funciona corretamente e retorna todas as postagens na categoria.
Gostaria de ouvir qualquer insight que você possa ter
query-posts
tags
hannit cohen
fonte
fonte
Respostas:
Editar: veja abaixo a maneira correta de consultar cruzamentos de categoria e tag.
fonte
Eu acho que isso é um bug no WordPress que foi comentado em outro lugar, tente usar o nome da tag em vez do ID, pois deve funcionar:
Deixe-nos saber como você se sai, sem saber o que acontece com as tags com várias palavras no nome.
fonte
Eu me deparei com esse mesmo problema e o resolvi fazendo uma solicitação do MySQL.
em resumo: get_post ($ args) retornará as postagens que possuem a categoria = MyCategory OU a tag = MyTag.
o que você quer é mudar seu OR para AND .
minha lógica era ir direto com uma consulta MySQL:
Eu usei wpdb em vez de query_post ();
Um pouco de código (retornando postagens publicadas com a categoria MyCat e a tag MyTag) :
Esta é uma maneira suja de fazer isso, mas espero que ajude =)
fonte
WP_Query
e umtax_query
relacionamento AND , sem a necessidade de SQL bruto.Este código funciona:
fonte
fonte