Récupérer des publications par requête personnalisée d'ID de terme

13

je veux récupérer des messages personnalisés en utilisant une requête personnalisée. ma taxonomie est recette_tx et termes (boeuf), (poulet), etc.

j'ai essayé d'utiliser

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

mais pas de chance.

quelqu'un peut-il m'aider à obtenir des messages wp par son term_id.

si boeuf id est 37 alors je veux récupérer tous les messages avec term_id = 37

Merci

Azeem Hassni
la source
1
Voici le Codex jdm2112 fait référence à: Affichage des messages à l'aide d'une requête de sélection personnalisée . Il m'a battu ...
eyoung100

Réponses:

29

Avez-vous essayé d'utiliser la classe WP_Query? Vous pourriez trouver qu'il est plus facile d'utiliser les outils intégrés pour cela au lieu d'une requête personnalisée à partir de zéro. Quelque chose de semblable au suivant devrait vous convenir:

<?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: notez que tax_queryc'est un tableau de tableaux par conception. De nombreux problèmes de requête fiscale résultent de l'absence de ce détail.

EDIT: correction de fieldla faute de frappe ci-dessus, en remplaçant 'id' par 'term_id'.

jdm2112
la source
comment puis-je trouver des messages avec la clause LIKE dans ce cas?
Azeem Hassni
1
Notez que les valeurs possibles fieldsont term_id, name, slugou term_taxonomy_id. Voir codex.wordpress.org/Class_Reference/…
Marian