is_post_type_archive() WP 3.1.0

Перевіряє, чи користувач на архівній сторінці записів довільного типу.

Сторінкою архіву довільного типу вважається сторінка, де виводяться записи нового типу ( /?post_type=custom ). Якщо, наприклад, новий тип записів називається ‘book’, то така сторінка матиме URL-адресу: http://example.com/book/(може відрізнятися, залежить від налаштувань ЧПУ).

Функція повертає falseсторінок типу /category/uncategorized/?post_type=custom. true повертається лише для сторінок типу /?post_type=custom. Тобто функція не перевіряє наявність параметра post_type у запиті, вона перевіряє чи це записів довільного типу. Можливо як альтернативу потрібно використовувати get_query_var(‘post_type’) .

Функція також спрацьовує в адміністраторі на сторінці з таблицею записів.

Основа для:
is_shop()
1 раз – 0.00003 сек
(дуже швидко) | 50000 разів – 0.03 сек
(швидкість світла)

Хуків немає.

Повертає

true|false. Якщо це архівна сторінка, на якій відображаються записи довільного типу, то функція поверне true, інакше false.

Використання

if( is_post_type_archive( $post_types ) ){
	// ...
}
$post_types
(рядок/масив)
Назва типу посту чи масив із назв типів постів.


За замовчуванням: ”

Приклади

0

#1 Сторінка архіву нового типу посту

Цей приклад показує, як визначити, чи є поточна сторінка архіву довільно типу посту. Виведемо заголовок нового типу посту.

<?php
if ( is_post_type_archive() ) {
	?>
	<h1><?php post_type_archive_title(); ?></h1>
	<?php
}

нотатки

  • Global. WP_Query. $wp_query WordPress Query object.

список змін

З версії 3.1.0Введено.

Код is_post_type_archive() WP 6.0.2

function is_post_type_archive( $post_types = '' ) {
	global $wp_query;

	if ( ! isset( $wp_query ) ) {
		_doing_it_wrong( __FUNCTION__, __( 'Conditional query tags до роботи не працює, тому що керує. Before then, they always return false.' ), '3.1.0' );
		return false;
	}

	return $wp_query->is_post_type_archive( $post_types );
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *