Nie jestem pewien, jak to osiągnąć. Próbuję mieszać standardowe posty i niestandardowe posty na stronie głównej witryny, ale chcę wyświetlać niestandardowe posty tylko po ustawieniu wartości meta. Wyświetlanie postów działa dobrze, 'post_type' => array('game', 'post')
ale kiedy dodam w meta_query, zwykłe posty nie są już wyświetlane (co ma sens, ponieważ nie spełniają warunku meta_query).
Jak więc ograniczyć meta_query do niestandardowego typu postu, aby zwykły post był nadal uwzględniany?
WP_Query
. Musisz użyćpre_get_posts
zmiany zapytania lub niestandardowej instrukcji SQL. W każdym razie pokaż swój aktualny kod.Odpowiedzi:
Są różne sposoby na załatwienie sprawy, 2 przychodzi mi na myśl:
$wpdb
zapytania niestandardowegoWP_Query
z filtrami, używającWP_Meta_Query
do zbudowania dodatkowego kodu SQLZamieszczę tutaj przykładowy kod dla przypadku nr 2
Dalsze komentarze można znaleźć w komentarzach wewnętrznych.
Zajrzyj również na WP_Meta_Query w Codexie, gdzie znajdziesz pełne dokumenty na temat ustawiania argumentów meta zapytania.
Edytować
Zrewidowałem kod we wtyczce wielokrotnego użytku, używając klasy. Dostępne jako Gist .
źródło