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’) .
Функція також спрацьовує в адміністраторі на сторінці з таблицею записів.
is_shop()
(дуже швидко) | 50000 разів – 0.03 сек
(швидкість світла)
Хуків немає.
Повертає
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.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 );
}