# Функция GET_POST_TYPE() в WordPress
Функция get_post_type() используется для получения типа поста текущего поста или поста с заданным ID.
## Как работает функция
- **Использование:** get_post()
- **Производительность:** 1 раз — 0.000637 сек (медленно) | 50000 раз — 0.17 сек (очень быстро) | PHP 7.1.2, WP 4.7.5
- **Хуки:** Нет
## Что возвращает функция
Функция возвращает:
- **String**: тип поста при успешной работе.
- **false**: в случае ошибки.
## Как использовать
### Синтаксис
```php
get_post_type( $post );
Параметры
$post(int|WP_Post|null): ID поста или объект поста.- По умолчанию: использует глобальную переменную
$post.
- По умолчанию: использует глобальную переменную
Примеры использования
Пример 1: Получение типа поста по ID
Чтобы получить тип поста, например, с ID 121, используйте следующий код:
$post_type = get_post_type( 121 );
echo $post_type; // вывод: post
Этот код выведет тип поста:
- 'attachment' — если это медиа-файл.
- 'post' — если это обычный пост.
- и т.д.
Пример 2: Обычные имена типов п��стов в WordPress
Вот список стандартных типов постов в WordPress:
- post
- page
- attachment
- revision
- nav_menu_item
Пример 3: Условное выражение для проверки типа поста
Если вам нужно проверить, является ли тип поста вашим пользовательским типом, можно использовать следующий код:
if ( 'my_post_type' === get_post_type() ) {
// это мой тип поста
}
Пример 4: Получение типа поста вне цикла
Иногда, например, вне цикла WordPress, вам нужно передать ID запрашиваемого объекта, чтобы получить тип поста:
$current_queried_post_type = get_post_type( get_queried_object_id() );
Как выглядит код функции
Вот реализация функции get_post_type() в WordPress:
function get_post_type( $post = null ) {
$post = get_post( $post );
if ( $post ) {
return $post->post_type;
}
return false;
}
Родственные функции
Вот некоторые связанные функции, которые могут быть полезны при работе с типами постов:
add_post_type_support()get_post_type_object()get_post_types()is_post_type_hierarchical()is_post_type_viewable()post_type_exists()post_type_supports()register_post_type()remove_post_type_support()set_post_type()unregister_post_type()WP_Post_Type()