Jak uzyskać termin taksonomii bieżącej strony i wypełnić zapytania w szablonie


16

Próbowałem dowiedzieć się, jak uzyskać konkretny termin taksonomii bieżącej strony, aby móc następnie wypełniać zapytania na stronie dotyczące innych typów postów, które mają ten sam termin.

Gruntownie:

  • Strona 1 ma termin taksonomia - polityka edukacyjna
  • page.php składa się z czterech części:
    1. standardowa pętla, która generuje stronę, ale następnie ma trzy kolejne zapytania
    2. pętla dla wydarzeń mających termin taksonomiczny - polityka edukacyjna
    3. pętla dla raportów z terminem taksonomicznym - polityka edukacyjna
    4. pętla dla osób posiadających pojęcie taksonomii - polityka edukacyjna

Zrobiłem szablony specyficzne dla strony, w których mogłem po prostu zakodować ten termin w dodatkowych pętlach, ale muszę wymyślić, jak to zrobić dynamicznie (pierwotnie miało to być cztery lub pięć stron, teraz to czterdzieści lub pięćdziesiąt).

Znalazłem kilka podobnych pytań, ale żadnego z nich nie udało mi się znaleźć dzięki wdrożeniu.

Uzyskaj taksonomię bieżącej strony, która była nieco myląca, jeśli chodzi o to, o co faktycznie pytano.

Uzyskaj identyfikator id należący do niestandardowej systematyki na niestandardowej stronie szablonu single-post-type.php

Mam nadzieję, że to ma sens i wielkie dzięki.

Odpowiedzi:


25

Hm, jeśli poprawnie zarejestrowałeś systematykę dla typu obiektu „strona”, a następnie przypisałeś jej termin do strony ... Wierzę, że możesz uzyskać dostęp do systematyki i terminów ślimakowych w następujący sposób:

get_query_var( 'taxonomy' )
get_query_var( 'term' )

Jeśli print_r($wp_query)zobaczysz wszystkie parametry, które istnieją podczas generowania wyświetlanej strony. Z powyższym kodem uzyskujesz dostęp do tych parametrów z $wp_query.

Następnie, aby uzyskać termin obiekt z pełnymi informacjami, możesz użyć funkcji get_term_by

$term = get_term_by( 'slug', get_query_var('term'), get_query_var('taxonomy') );
echo $term->name;

Spowoduje to wydrukowanie „ładnej” nazwy tego terminu.

Wierzę, że jeśli użyjesz get_query_var('term')lub $term->slug(po uzyskaniu terminu obiekt), możesz użyć tego ślimaka we wszystkich innych zapytaniach.

Mam nadzieję, że to pomaga. Nigdy nie korzystałem z taksonomii dla stron. Daj mi znać, jak sobie radzisz.


2

Po prostu skopiuj wklej poniżej kodu

Spowoduje to wydrukowanie bieżącej nazwy i opisu systematyki strony (opcjonalnie)

<?php 
   $tax = $wp_query->get_queried_object();
   echo ''. $tax->name . '';
   echo "<br>";
   echo ''. $tax->description .''; 
?>

-2

Może być konieczne włączenie wyszukiwania, aby włączyć podział na strony

Podczas deklarowania niestandardowej systematyki należy wyłączyć wyszukiwanie z wyłączeniem.

exclude_from_search => false

To naprawiło mój problem.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.