Функция is_year()
в WordPress используется для проверки, отображается ли текущая страница архивом за определенный год. Эта функция часто используется при создании кастомных тем или плагинов для изменения отображения страниц архива на основе года.
is_year();
Функция is_year()
возвращает true
, если текущая страница является архивом за год, и false
в противном случае.
Примеры:
Кастомизация заголовка страницы
Изменение заголовка страницы архива года. Этот код можно добавить в header.php
или соответствующий шаблон.
<?php
if (is_year()) {
$year = get_query_var('year');
echo '<h1>Архив записей за ' . $year . ' год</h1>';
} else {
echo '<h1>Архив записей</h1>';
}
?>
Кастомная логика для виджетов
Показ специальных виджетов на страницах архива года. Этот код можно добавить в sidebar.php
.
<?php
if (is_year()) {
if (is_active_sidebar('year-archive-sidebar')) {
dynamic_sidebar('year-archive-sidebar');
}
} else {
if (is_active_sidebar('default-sidebar')) {
dynamic_sidebar('default-sidebar');
}
}
?>
Изменение структуры страницы
Этот код можно добавить в archive.php
для изменения отображения архива года.
<?php get_header(); ?>
<div class="content-area">
<?php if (is_year()): ?>
<div class="year-archive">
<?php if (have_posts()): ?>
<?php while (have_posts()): the_post(); ?>
<article>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
</article>
<?php endwhile; ?>
<?php else: ?>
<p>Записей не найдено за этот год.</p>
<?php endif; ?>
</div>
<?php else: ?>
<div class="default-archive">
<?php if (have_posts()): ?>
<?php while (have_posts()): the_post(); ?>
<article>
<h2><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
</article>
<?php endwhile; ?>
<?php else: ?>
<p>Записей не найдено.</p>
<?php endif; ?>
</div>
<?php endif; ?>
</div>
<?php get_footer(); ?>
Заключение
Функция is_year()
позволяет легко кастомизировать страницы архива года в WordPress. Используйте её для изменения заголовков, виджетов и структуры страниц, чтобы улучшить пользовательский опыт.