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.7.1
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 ); }