Recuperar postagens por consulta personalizada de ID de termo


13

Eu quero recuperar postagens personalizadas usando a consulta personalizada. minha taxonomia é receita_tx e termos (carne), (frango) etc.

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 id bifes é 37, então eu quero recuperar todas as mensagens com term_id = 37

Obrigado


1
Aqui está o código que jdm2112 está se referindo a: Exibindo mensagens usando uma consulta de seleção personalizada . Ele chegou antes de mim ...
eyoung100

Respostas:


29

Você 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: note que tax_queryé uma matriz de matrizes por design. Muitos problemas de consultas fiscais resultam da falta desses detalhes.

EDIT: fielderro de digitação do valor corrigido acima, substituindo 'id' por 'term_id'.


como posso encontrar posts com a cláusula LIKE neste caso?
Azeem Hassni

1
Note-se que os valores possíveis para fieldsão term_id, name, slugou term_taxonomy_id. Veja codex.wordpress.org/Class_Reference/…
Marian
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.