WP_Query por palavra-chave ou etiqueta de postagem

Existe alguma maneira “nativa” de consultar por palavra-chave ou tag de publicação?

Caso contrário, como posso escrever uma boa consulta SQL para recuperar os dados corretamente?

Desde já, obrigado!

Solutions Collecting From Web of "WP_Query por palavra-chave ou etiqueta de postagem"

Dependendo do que você deseja alcançar, a maneira mais simples da documentação do WordPress é exibida abaixo.

Exibe postagens etiquetadas com “bob”, sob “pessoas” taxonomia personalizada :

$args = array( 'post_type' => 'post', 'tax_query' => array( array( 'taxonomy' => 'people', 'field' => 'slug', 'terms' => 'bob', ), ), ); $query = new WP_Query( $args ); 

Verifique o link de documentação – você encontrará exemplos mais avançados.

Atualizar:

Se você quiser consultar realmente para “palavra-chave” ou “tag” …

É engraçado – fiz algumas pesquisas e verifica-se que não é tão trivial no WordPress.

A solução nativa, mais pura, encontrada, usa três consultas. Os dois primeiros obtêm os ids – um por tag e o outro por palavra-chave e, em seguida, o terceiro faz a consulta final.

 $set1 = new WP_Query( array(' 'fields'=> 'ids', 'post_type' => 'post', 'tax_query' => array( array( 'taxonomy' => 'people', 'field' => 'slug', 'terms' => 'bob' ) ) ) ); $set2 = new WP_Query( array( 'fields'=>'ids', 'post_type' => 'post', 's' => 'News') ); $combined_ids = array_merge($set1->posts, $set2->posts); $combined_ids = array_unique($combined_ids); $combines_sets = new WP_Query(array( 'post__in' => $combined_ids) );