Pobierz posty według niestandardowego zapytania o identyfikatorze terminu

14

Chcę pobrać niestandardowe posty za pomocą niestandardowego zapytania. moja taksonomia to przepis_tx i warunki (wołowina), (kurczak) itp.

próbowałem użyć

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

ale bez powodzenia.

czy ktoś może mi pomóc, jak uzyskać posty wp przez ich term_id.

jeśli identyfikator wołowiny to 37, to chcę pobrać wszystkie posty z term_id = 37

Dzięki

Azeem Hassni
źródło
1
Oto kodeks jdm2112, którego dotyczy: Wyświetlanie postów za pomocą niestandardowego zapytania Select . Pobił mnie do tego ...
eyoung100,

Odpowiedzi:

30

Czy próbowałeś już użyć klasy WP_Query? Może się okazać, że łatwiej jest użyć do tego wbudowanych narzędzi zamiast niestandardowego zapytania od zera. Powinno ci działać coś podobnego do następującego:

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

EDYCJA: zwróć uwagę, że tax_queryjest to tablica tablic według projektu. Wiele problemów z zapytaniami podatkowymi wynika z braku tego szczegółu.

EDYCJA: poprawiona fieldliterówka wartości powyżej, zastępująca „id” przez „term_id”.

jdm2112
źródło
jak mogę znaleźć posty z klauzulą ​​LIKE w tej sprawie?
Azeem Hassni,
1
Należy pamiętać, że możliwe wartości fieldterm_id, name, sluglub term_taxonomy_id. Zobacz codex.wordpress.org/Class_Reference/...
Marian