Отображение текущего термина таксономии внутри произвольного типа записи
Это должно быть довольно просто, однако я не смог найти ответ нигде в интернете. Все найденные ответы были близки, но не совсем то, что мне нужно. Мне нужно отобразить только текущий термин произвольного типа записи, в котором я нахожусь. не все термины, а только один! (релевантный)
Вот что я использую, но это отображает ВСЕ термины, что мне не подходит:
<?php
$taxonomy = 'genre';
$queried_term = get_query_var($taxonomy);
$terms = get_terms($taxonomy, 'slug='.$queried_term);
if ($terms) {
foreach($terms as $term) {
echo $term->name;
}
}
?>
помните - я хотел бы отобразить это в шаблоне моего отдельного типа записи кто-нибудь может подсказать? спасибо

Отлично, я наконец-то нашел то, что мне нужно здесь: Как получить текущий термин в моей пользовательской таксономии в WordPress?
Последнее обновление внизу предоставлено @user3208:
<?php // Получаем термины для записи
$terms = get_the_terms( $post->ID , 'oil' );
// Перебираем каждый элемент, так как это массив
if ( $terms != null ){
foreach( $terms as $term ) {
// Выводим свойство slug из объекта $term
print $term->slug ;
// Удаляем остальные данные, хранящиеся в объекте, так как они не нужны
unset($term);
} } ?>
Это решило мою проблему! Спасибо

Вместо этого следует использовать wp_get_post_terms
.
$terms = wp_get_post_terms( $post_id, $taxonomy, $args );
get_terms
вернет все термины из указанной таксономии.
ОБНОВЛЕНИЕ:
global $post;
$terms = wp_get_post_terms( $post->ID, 'genre');
print_r($terms); #выводит результат

Я пытаюсь, но это не работает. Нужно ли передавать какие-то переменные в функцию? Можете уточнить, как именно мне следует реализовать это в моём коде? Спасибо.

Если вы находитесь внутри WordPress Loop, вы можете использовать get_the_ID()
вместо $post_id
. Для $taxonomy
вам нужно указать название используемой таксономии. $args
не является обязательным параметром.

Это определённо вне цикла! Просто не получается заставить это работать.. Можете подсказать, как реализовать это вне цикла? Если нужно, я могу опубликовать весь код. Спасибо.

Затем вам нужно добавить global $post;
и использовать $post->ID
для получения ID записи.

Можете показать пример с использованием моего кода выше? Я не так силён в программировании. Буду признателен. Спасибо.

Взяв код пользователя user3208, я добавил немного кода, который добавляет URL к термину. Надеюсь, это кому-то поможет.
<?php // Получаем термины для записи
$terms = get_the_terms( $post->ID , 'oil' );
// Перебираем каждый элемент, так как это массив
if ( $terms != null ){
foreach( $terms as $term ) {
$term_link = get_term_link( $term, 'oil' );
// Выводим название и URL
echo '<a href="' . $term_link . '">' . $term->name . '</a>';
// Удаляем другие данные, хранящиеся в объекте, так как они не нужны
unset($term); } } ?>

Ответы, содержащие только код, обычно не приветствуются без пояснений. Не могли бы вы отредактировать свой ответ и объяснить, что делает эта функция и как она решает исходную проблему, возможно, сославшись на The Codex для получения дополнительной информации?
