Функция GET_POST_TYPE() в WordPress: использование и примеры

# Функция 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()

Leave a Reply

Ваш адрес email не будет опубликован. Обязательные поля помечены *