Recuperar postagens por consulta personalizada de id de termo

10

Eu quero recuperar postagens personalizadas usando a consulta personalizada. minha taxonomia é recipe_tx e termos (Carne de vaca), (frango), etc nele.

eu tentei usar

SELECT p.* FROM wp_posts p, wp_term_taxonomy tt, wp_term_relationships tr 
WHERE p.ID=tr.'object_id' 
AND tt.'term_id'=tr.'term_taxonomy_id' 
AND (p.post_type = 'recipe_cpt')
AND p.post_status = 'publish'
AND tt.'term_taxonomy_id' = 37

mas sem sorte.

alguém pode me ajudar como obter posts wp por seu term_id.

se o id de beefs for 37, então eu quero recuperar todas as postagens com term_id = 37

Obrigado

    
por Azeem Hassni 20.06.2014 / 17:23

1 resposta

23

Já tentou usar a classe WP_Query? Você pode achar mais fácil usar as ferramentas internas para isso em vez de uma consulta personalizada do zero. Algo semelhante ao seguinte deve funcionar para você:

<?php
$args = array(
'post_type' => 'recipe_cpt',
'tax_query' => array(
    array(
    'taxonomy' => 'recipe_tx',
    'field' => 'term_id',
    'terms' => 37
     )
  )
);
$query = new WP_Query( $args ); ?>

EDIT: observe que tax_query é uma matriz de matrizes por design. Muitos problemas de consulta fiscal resultam da falta desse detalhe.

EDIT: digitado field valor acima, substituindo 'id' por 'term_id'.

    
por jdm2112 20.06.2014 / 18:32