Próbuję wyświetlić listę postów związanych z kategorią X i tagiem Y. Próbowałem następującego kodu:
$args = array(
'posts_per_page' => 4,
'tag_id' => $tag_id,
'cat' => $cat_id,
);
query_posts($args);
ale nie działa poprawnie i zwraca wszystkie posty w katalogu.
Bardzo chciałbym usłyszeć każdy wgląd
query-posts
tags
hannit cohen
źródło
źródło
Odpowiedzi:
Edycja: patrz poniżej odpowiedni sposób zapytania o kategorie i przecięcia znaczników.
źródło
Myślę, że to błąd w WordPressie, który został skomentowany w innym miejscu, spróbuj użyć nazwy znacznika zamiast identyfikatora, to powinno działać:
Poinformuj nas, jak sobie radzisz, nie wiedz, co się stanie z tagami z wieloma słowami w nazwie.
źródło
Natknąłem się na ten sam problem i rozwiązałem go, wysyłając żądanie MySQL.
w skrócie: get_post ($ args) zwróci Ci posty, które mają kategorię = MyCategory LUB tag = MyTag.
chcesz zmienić OR na AND .
moją logiką było przejście od razu do zapytania MySQL:
Użyłem wpdb zamiast query_post ();
Trochę kodu (zwracanie opublikowanych postów z kategorią MyCat i tagiem MyTag) :
To jest brudny sposób na zrobienie tego, ale mam nadzieję, że to pomoże =)
źródło
WP_Query
atax_query
I relacji , nie ma potrzeby surowego SQL.Ten kod działa:
źródło
źródło