Як отримати термін таксономії поточної сторінки та заповнити запити в шаблоні


16

Я спіткнувся, намагаючись зрозуміти, як отримати конкретний термін таксономії поточної сторінки, щоб згодом я міг заповнювати запити на сторінці для інших типів публікацій, які мають той самий термін.

В основному:

  • Сторінка 1 має термін таксономія - освітня політика
  • page.php складається з чотирьох частин:
    1. стандартний цикл, який видає сторінку, але потім має три наступні запити
    2. цикл для подій, що мають термін таксономії - освітня політика
    3. цикл для звітів, що мають термін таксономії - освітня політика
    4. петля для людей, які мають термін таксономії - освітня політика

Я робив певні шаблони сторінок, де я міг просто вбудувати термін у додаткові петлі, але мені потрібно розібратися, як це робити динамічно (те, що спочатку повинно було бути чотири чи п’ять сторінок, зараз сорок чи п’ятдесят).

Я знайшов декілька подібних питань, але жодне, що реально знайти свій шлях через реалізацію.

Отримайте таксономію поточної сторінки, яку було трохи заплутано дотримуватися з точки зору того, що насправді запитували.

Отримайте термін id, що належить до власної таксономії, на спеціальній сторінці шаблонів single-post-type.php

Сподіваюся, це має сенс і велике спасибі.

Відповіді:


25

Так, якщо ви зареєстрували таксономію типу об’єкта "сторінка" правильно, а потім призначили термін цієї систематики на сторінку ... Я вважаю, що ви можете отримати доступ до таксономії та термінів-молюсків таким чином:

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

Якщо ви print_r($wp_query)побачите всі параметри, які є при генерації поточної сторінки, що відображається. З кодом вище, з якого ви отримуєте доступ до цих параметрів $wp_query.

Потім, щоб отримати термін об'єкт з повною інформацією, ви можете скористатися функцією get_term_by , наприклад

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

Це надрукує "приємну" назву терміна.

Я вважаю, що якщо ви використовуєте get_query_var('term')або $term->slug(після отримання терміна об'єкта), ви можете використовувати цей слиз у всіх інших запитах.

Сподіваюся, що це допомагає. Я ніколи не використовував таксономію для сторінок. Дайте мені знати, як ви дістаєтесь.


2

Просто скопіюйте пасту нижче коду

Це надрукує назву та опис вашої поточної сторінки (опціонально)

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

-2

Можливо, вам потрібно ввімкнути пошук, щоб увімкнути пагинацію

Декларуючи власну таксономію, слід вимкнути пошук, виключаючи.

виключити_from_search => false

Це вирішило мою проблему.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.