Получить таксономию текущей страницы

У меня есть несколько страниц с пользовательской таксономией для каждой страницы, и я пытаюсь восстановить эту таксономию на странице. Мне в принципе нужно что-то вроде the_current_taxonomy() как the_title() . Это должно выполняться вне цикла, потому что я буду использовать его в пользовательском WP_Query сразу после.

Изменить: нашел решение, используя другой способ получения необходимой мне информации. Спасибо за помощь ребята.

Как Рарст, я смущен тем, что вы хотите вывести, таксономией или условиями этой таксономии.

Таксономия может выводиться, например, если вы создаете файл шаблона с именем этой таксономии: taxonomy-name.php

название таксономии тогда становится:

 <h1 class="page-title"><<?php $term = get_term_by( 'slug', get_query_var( 'term' ), get_query_var( 'taxonomy' ) ); echo $term->name; ?></h1> 

Термины внутри таксономии могут выводиться с помощью tagcloud, см. http://codex.wordpress.org/Function_Reference/wp_tag_cloud (но это находится в цикле)

Я полагаю, что taxonomy одинакова, и вам нужны terms в этой таксономии, назначенные на эту должность?

Функция низкого уровня для этого – wp_get_object_terms() . Он действительно нуждается в идентификаторе объекта, поэтому, если вы сбросите данные post, вам нужно будет сохранить это раньше или $wp_query->get_queried_object_id() исходный запрос ( $wp_query->get_queried_object_id() насколько я помню).

Если вы уже находитесь на странице категории / срока, вы можете вызвать get_queried_object(); перед запуском вашего пользовательского запроса, чтобы получить информацию о категории / терминах, включая slug.

Итак, мне нужно было извлечь термин таксономии знаний, данный на странице (например:

 function register_prod_categoria() { register_taxonomy( 'prod-categoria', array( 'produtos', 'page' ), 

( produtos – это настраиваемый тип сообщения, только для информации.)).

Я пробовал разные вещи, в том числе: get_terms('prod-categoria','') Это, работает, но дает мне все о моей таксономии prod-category , что не то, что мне нужно.

Затем, как поясняется в кодексе , для get_terms() : child_of и parent доступны два (интересных для меня) параметров. Это звучало идеально, поэтому я пошел: get_terms('prod-categoria','child_of=marca'); а также get_terms('prod-categoria','parent=marca') , marca – термин parent (из пользовательской таксономии prod-category ), из которого я хотел извлечь дочерние термины. Оба не дали мне никаких результатов. Я также пробовал с именем Марка и слизню маркой , ничего.

Решение, в котором я $tt = the_title('','',false); состоит в следующем: $tt = the_title('','',false); , Я получаю заголовок страницы, чтобы использовать его в качестве параметра после: $posts = posts_search ('produtos',array('prod-categoria'=>$tt,'prod-cols'=>'5-CPF-NF-P')); if($posts) { echo "<table class=\"table-marca\">"; foreach($posts as $post) { ... } $posts = posts_search ('produtos',array('prod-categoria'=>$tt,'prod-cols'=>'5-CPF-NF-P')); if($posts) { echo "<table class=\"table-marca\">"; foreach($posts as $post) { ... }

Btw, функция posts_search () (найдена на http://wordpress.stackexchange.com или http://stackoverflow.com, если я прав, не помню точно) позволяет делать запросы по нескольким таксономии.

Я очень согласен с тем, что он далеко не идеален, название страницы должно быть равно имени таксономии, но в моем случае это работает. Большое спасибо Rarst и Piet за помощь.