is_month()WP 1.5.0

Проверяет отображается ли страница архива «посты за месяц» example.com/2009/08. Условный тег.

Функция входит в проверку функций is_date() и is_archive(), поэтому, в одной логической цепочке, эту функцию нужно использовать перед указанными функциями, иначе она просто никогда не сработает. См. пример 2.

Работает на основе: WP_Query::is_month()
1 раз — 0.00007 сек (очень быстро) | 50000 раз — 0.02 сек (скорость света)

Хуков нет.

Возвращает

true|false.

Использование

if( is_month() ){
	// код для архива за месяц
}

Примеры

0

#1 Выведем в сайдбаре пометку что сейчас открыта страница архива по месяцам:

if( is_month() ){
  $title = "Это страница архива за месяц!";
}
0

#2 Использование в связке с is_archive()

Как правильно использовать этот тег в связке с is_archive(): его нельзя использовать после is_archive() в одной логической цепочке:

if( is_month() )
  echo "Это страница архива за месяц!";
elseif( is_archive() )
  echo "Это страница архива, но не архива по месяцам.";

Если в этом примере is_month() использовать после is_archive(), то тег никогда не сработает, потому что is_archive() включает в себя эту проверку.

Заметки

  • Global. WP_Query. $wp_query WordPress Query object.

Список изменений

С версии 1.5.0 Введена.

Код is_month() WP 6.4.3

function is_month() {
	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_month();
}