Функция is_post_type_viewable()
в WordPress предназначена для проверки, является ли указанный тип записи доступным для просмотра внешними пользователями. Это особенно полезно для определения, видим ли определённый пользовательский тип записи на сайте.
Эта функция проверяет глобальную переменную $post_type_object
и использует параметры типа записи, такие как publicly_queryable
и public
, чтобы определить его доступность. Убедитесь, что тип записи правильно настроен, чтобы гарантировать корректное отображение контента.
bool is_post_type_viewable( string|object $post_type )
Параметры
$post_type
(строка или объект) – Название типа записи или объект типа записи, который нужно проверить. Начиная с версии 4.5, можно указывать название типа записи в виде строки.
Возвращаемое значение
Функция возвращает true
, если тип записи доступен для просмотра, и false
в противном случае. Это позволяет использовать эту функцию для условного отображения контента в зависимости от доступности типа записи.
Пример 1: Проверка доступности стандартного типа записи
Рассмотрим, как проверить, доступен ли стандартный тип записи post
для просмотра:
if ( is_post_type_viewable( 'post' ) ) {
echo 'Тип записи "post" доступен для просмотра.';
} else {
echo 'Тип записи "post" не доступен для просмотра.';
}
Пример 2: Проверка доступности пользовательского типа записи
Допустим, у вас есть пользовательский тип записи portfolio
. Вы можете проверить его доступность следующим образом:
$post_type = 'portfolio';
if ( is_post_type_viewable( $post_type ) ) {
// Вывести записи типа 'portfolio'
$args = array(
'post_type' => $post_type,
'posts_per_page' => 10
);
$query = new WP_Query( $args );
if ( $query->have_posts() ) {
while ( $query->have_posts() ) {
$query->the_post();
// Вывести пост
the_title();
the_excerpt();
}
wp_reset_postdata();
} else {
echo 'Нет доступных записей для типа ' . esc_html( $post_type );
}
} else {
echo 'Тип записи "' . esc_html( $post_type ) . '" не доступен для просмотра.';
}
Пример 3: Использование в условном блоке
Функция is_post_type_viewable()
может быть использована для настройки отображения ссылок на основе доступности типа записи:
if ( is_post_type_viewable( 'event' ) ) {
// Вывести ссылку на архив типа записи 'event'
echo '<a href="' . esc_url( get_post_type_archive_link( 'event' ) ) . '">Посмотреть мероприятия</a>';
} else {
echo 'Тип записи "event" не доступен для просмотра.';
}
Пример 4: Проверка с использованием объекта типа записи
Вы также можете использовать объект типа записи для проверки его доступности:
$obj = get_post_type_object( 'book' );
if ( is_post_type_viewable( $obj ) ) {
echo 'Тип записи "book" доступен для просмотра.';
} else {
echo 'Тип записи "book" не доступен для просмотра.';
}
Заключение
Функция is_post_type_viewable()
предоставляет важные возможности для контроля видимости различных типов записей на сайте WordPress. Использование этой функции позволяет разработчикам проверять доступность типов записей для внешних пользователей, что помогает настроить отображение контента и улучшить пользовательский опыт.