is_post_type_archive()
Проверяет находится ли пользователь на архивной странице записей произвольного типа.
Страницей архива произвольного типа считается страница, на которой выводятся записи нового типа (/?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').
Функция также срабатывает в адмнике на странице с таблицей записей.
Хуков нет.
Возвращает
true|false. Если это архивная страница на которой отображаются записи произвольного типа, то функция вернет true, иначе false.
Использование
if( is_post_type_archive( $post_types ) ){
// ...
}
- $post_types(строка/массив)
- Название типа поста или массив из названий типов постов.
По умолчанию: ''
Примеры
#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() is post type archive WP 6.9
function is_post_type_archive( $post_types = '' ) {
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_post_type_archive( $post_types );
}