Panel Klienta

Jak wyświetlić CPT nieprzypisane do żadnej taksonomii?

Jak wyświetlić CPT nieprzypisane do żadnej kategorii
Michał Okoń

Tworząc niestandardowe typy postów rozszerzamy tym samym funkcjonalności WordPressa. Tworząc wtyczkę dla mojego klienta, która miała dodać CPT w postaci cennika napotkałem na tytułową zagwozdkę.

Założenie było proste: wyświetlić ceny usług z podziałem na kategorie maksymalnie do 3 zagłębienia – czyli:

  • KATEGORIA – poziom 1
    • Podkategoria – poziom 2
      • Podkategoria – poziom 3

Z czasem okazało się, że nie wszystkie usługi kwalifikowały się do przypisania im odpowiedniej kategorii. Klient zażyczył sobie, aby po prostu pozycje bez przypisanej taksonomii wyświetliły się na końcu cennika, niezależnie.

Oczywiście, można było rozwiązać ten problem tworząc dodatkową kategorię, ale nie takie było założenie biznesowe projektu.

Niestandardowe zapytanie, które wyświetla wpisy z niestandardowego typu wpisu przypisane do stworzonej dla niego niestandardowej taksonomii jest raczej prostym zadaniem. Z kolei w drugą stronę, zadanie okazało się nieco trudniejsze. Rozwiązanie za to jest proste. Problem raczej w tym, że nie korzysta się zbyt często z dostępnych możliwości jakie oferuje klasa WP_Query.

Wyświetlenie CPT nieprzypisane do żadnej taksonomii

Aby wyświetlić niestandardowy typ wpisu, który nie jest przypisany do żadnej taksonomii należy sformułować zapytanie w następujący sposób:

$args = array(
    'post_type'  => cpt_name,
    'tax_query'  => array(
        array(
            'taxonomy'     => '',
            'field'        => 'slug',
            'terms'        => '',
            'operator'     => 'NOT EXISTS'
        )
    )
);
$query = new WP_Query($args);

cpt_name – jest to nazwa, którą podajemy przy rejestracji CPT.

0 0 votes
Jak bardzo przydał/spodobał Ci się ten artykuł?

Bądź na bieżąco z nowymi wpisami

Włącz subskrypcję i bądź na bieżąco z nowymi wpisami na blogu i promocjami w sklepie! ZERO spamu, same konkrety!

Subscribe
Powiadom o
guest
0 komentarzy
najnowszy
najstarszy oceniany
Inline Feedbacks
View all comments