Функция is_tax()
в WordPress используется для проверки, является ли текущая страница архивом пользовательской таксономии. Это позволяет создавать кастомные шаблоны и добавлять уникальный контент для различных таксономий.
Синтаксис
is_tax( $taxonomy = '', $term = '' );
$taxonomy
(строка|массив): Ярлык таксономии или массив ярлыков нескольких таксономий.$term
(целое|строка|массив): ID, ярлык или название элемента таксономии, либо массив таких значений.
Примеры использования
Проверка, является ли текущая страница архивом любой пользовательской таксономии
if (is_tax()) {
// Действия, если текущая страница является архивом любой пользовательской таксономии
echo '<h1>Архив пользовательской таксономии</h1>';
}
Изменение заголовка страницы архива таксономии
В файле archive.php
можно использовать is_tax()
для изменения заголовка страницы на основе таксономии:
<?php get_header(); ?>
<?php if (is_tax()): ?>
<h1>Архив для таксономии <?php single_term_title(); ?></h1>
<?php else: ?>
<h1>Архив</h1>
<?php endif; ?>
<?php if (have_posts()): ?>
<?php while (have_posts()): the_post(); ?>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<?php endwhile; ?>
<?php else: ?>
<p>Записей не найдено.</p>
<?php endif; ?>
<?php get_footer(); ?>
Этот код проверяет, является ли текущая страница архивом таксономии, и выводит соответствующий заголовок.
Проверка, является ли текущая страница архивом определённой таксономии
if (is_tax('genre')) {
// Действия, если текущая страница является архивом таксономии 'genre'
echo '<h1>Архив жанра: ' . single_term_title('', false) . '</h1>';
}
Проверка страницы на соответствие таксономии и термину по ID
if (is_tax('book', 42)) {
// Действия, если текущая страница является архивом таксономии 'book' и ID термина равен 42
echo '<h1>Архив книг с ID 42</h1>';
}
Применение кастомного CSS-класса для таксономии
Вы можете добавлять специальные CSS-классы к элементам на страницах архива таксономии:
<body <?php body_class(); ?>>
<?php if (is_tax('genre')): ?>
<div class="genre-archive">
<?php else: ?>
<div class="default-archive">
<?php endif; ?>
<!-- Контент архива -->
</div>
</body>
Показ специальных виджетов для определённой таксономии
Если вы хотите показывать специальные виджеты только на страницах определённой таксономии, используйте следующий код:
<?php if (is_tax('genre')): ?>
<?php if (is_active_sidebar('genre-sidebar')): ?>
<?php dynamic_sidebar('genre-sidebar'); ?>
<?php endif; ?>
<?php else: ?>
<?php if (is_active_sidebar('default-sidebar')): ?>
<?php dynamic_sidebar('default-sidebar'); ?>
<?php endif; ?>
<?php endif; ?>
Этот код проверяет, является ли текущая страница архивом таксономии ‘genre’, и отображает соответствующий виджет.
Проверка страницы на соответствие нескольким таксономиям и терминам
if (is_tax(array('movie', 'director'), array(10, 'spielberg', 'Кино 2021'))) {
// Действия, если текущая страница является архивом таксономий 'movie' или 'director' и
// ID термина равен 10, или ярлык термина 'spielberg', или название термина 'Кино 2021'
echo '<h1>Архив фильмов и режиссёров</h1>';
}
Проверка, является ли страница одной из перечисленных игр
if (is_tax('game', array(15, 'minecraft', 'Cyberpunk 2077'))) {
// Действия, если текущая страница является архивом таксономии 'game' и
// ID термина равен 15, или ярлык термина 'minecraft', или название термина 'Cyberpunk 2077'
echo '<h1>Архив игр</h1>';
}
Заключение
Функция is_tax()
предоставляет возможности для изменения контента и стилей страниц архива на основе пользовательских таксономий. Это позволяет улучшить пользовательский опыт и сделать сайт более адаптивным и динамичным.