Обзор
В этом руководстве показано, как добавить произвольные поля к термину таксономии, а затем изменить HTML файла шаблона термина.
Термины могут быть такими элементами, как рубрики, метки WordPress или другие произвольные таксономии, добавленные на ваш сайт. Например, популярные плагины, такие как WooCommerce, добавляют произвольные таксономии при активации.
Дополнительную информацию о таксономиях смотрите в WordPress Codex.
Добавление полей
Плагин Advanced Custom Fields очень упрощает добавление произвольных полей к термину таксономии. Пожалуйста, выполните шаги ниже.
- На экране админки Произвольные поля нажмите кнопку Добавить новый, чтобы создать новую группу полей
- Добавьте поля, которые вы хотите видеть при редактировании термина таксономии
- В разделе Локации выберите правило Термин таксономии и укажите соответствующее значение, чтобы показать эту группу полей
Редактирование полей
После того как вы создали группу полей и назначили её для отображения на экране редактирования термина таксономии, редактирование значений полей выполняется через переход к нужной таксономии. Например, если вы назначили группу полей для рубрик записей, перейдите в Записи > Рубрики.
Отображение полей
Настроить HTML для термина таксономии WordPress можно очень просто, отредактировав файл category.php, tag.php или taxonomy.php в вашей теме. В зависимости от темы вы также можете использовать части шаблона или фильтры, чтобы настроить HTML.
В этом примере показано, как изменить шаблон category.php темы twentyseventeen и вывести изображение рубрики и цвет в тег style.
category.php
<?php
/**
* Шаблон для отображения архивных страниц рубрик
*
* @link https://codex.wordpress.org/Template_Hierarchy
*
* @package WordPress
* @subpackage Twenty_Seventeen
* @since 1.0
* @version 1.0
*/
get_header();
// получить текущий термин таксономии
$term = get_queried_object();
// переменные
$image = get_field('image', $term);
$color = get_field('color', $term);
?>
<style type="text/css">
.entry-title a {
color: <?php echo $color; ?>;
}
<?php if( $image ): ?>
.site-header {
background-image: url(<?php echo $image['url']; ?>);
}
<?php endif; ?>
</style>
<div class="wrap">
<?php // Остальная часть шаблона удалена из примера ?>Пример
Вот как приведённый выше код выглядит в браузере. Обратите внимание, что изображение в шапке сайта теперь соответствует изображению рубрики, а все заголовки записей стали зелёными.
Примечания
Загрузка из конкретного термина
Все функции шаблона можно использовать для загрузки значений из термина таксономии, однако для указания нужного термина требуется второй параметр. Это похоже на передачу параметра $post_id для выбора конкретного объекта записи.
Ниже перечислены 3 разных варианта $post_id.
| Пример | Формат | Описание |
|---|---|---|
'category_123' | $taxonomy . '_' . $term_id | Строка, содержащая название таксономии и ID термина |
'term_123' | 'term_' . $term_id | Строка, содержащая слово ‘term’ и ID термина. Добавлено в версии 5.5.0 |
WP_Term | Объект термина. Вы можете получить объект термина с помощью многих функций WP, таких как get_term() |
Автовстраивание
При редактировании поля WYSIWYG в термине таксономии функция auto-embed может не работать. Это связано с кодом в ядре WordPress, который ограничивает auto-embed только записями.
Эта проблема сохраняется и на фронтенде, не позволяя преобразовывать URL встраивания (YouTube, Vimeo и т. д.) в объекты встраивания, которые можно воспроизвести.
В качестве текущего обходного решения для фронтенда используйте этот код в верхней части шаблона (чаще всего это category.php или аналогичный файл). Этот код задаст пользовательский post_ID и позволит WP загрузить встраивание.
category.php
<?php
// переменные
$queried_object = get_queried_object();
$taxonomy = $queried_object->taxonomy;
$term_id = $queried_object->term_id;
$GLOBALS['wp_embed']->post_ID = $taxonomy . '_' . $term_id;
?>Обновлено: 01.06.2026


