is_year()
Срабатывает когда показывается страница-архив с постами за указанный год example.com/2009. Условный тег.
Функция входит в проверку функций is_date() и is_archive(), поэтому, в одной логической цепочке, эту функцию нужно использовать перед указанными функциями, иначе она просто никогда не сработает. См. пример 2.
Работает на основе: WP_Query::is_year()
1 раз — 0.00007 сек (очень быстро) | 50000 раз — 0.01 сек (скорость света)
Хуков нет.
Возвращает
true|false
.
Использование
if( is_year() ){ // ... }
Примеры
#1 Вывод записи на архивах за год
Используя такой код в сайдбаре мы может выводить нужную информацию только на архивных страницах с постами за год:
if( is_year() ){ echo 'Это страница архива за какой-либо год: например, такая ссылка example.com'; }
#2 Одновременное использование is_archive() и is_year()
Как правильно строить логическую цепочку с использованием is_archive() и is_year() одновременно:
if( is_year() ) echo "Страница архива за год."; elseif( is_archive() ) echo 'Страница архива: день, месяц, категория, метка и т.д.'; else echo 'Это не страница архива';
Сначала идет is_year(), а потом is_archive()
Заметки
- Global. WP_Query. $wp_query WordPress Query object.
Список изменений
С версии 1.5.0 | Введена. |
Код is_year() is year WP 6.7.2
function is_year() { global $wp_query; if ( ! isset( $wp_query ) ) { _doing_it_wrong( __FUNCTION__, __( 'Conditional query tags do not work before the query is run. Before then, they always return false.' ), '3.1.0' ); return false; } return $wp_query->is_year(); }