# Функция GET_POST_TYPE_OBJECT() в WordPress
Функция get_post_type_object()
используется для получения объекта типа записи по его имени. Это полезный инструмент для работы с различными типами записей в WordPress.
## Описание функции
### Возвращаемое значение
Функция возвращает объект WP_Post_Type
, если он существует, или null
, если нет.
### Синтаксис
```php
get_post_type_object( $post_type );
Параметры:
$post_type
(строка) — название зарегистрированного типа записи (обязательный параметр).
Пример использования
Получение названия пользовательского типа записи
Чтобы получить локализованное название типа записи, вы можете использовать следующий код:
$obj = get_post_type_object( 'post' );
echo $obj->labels->singular_name; // Выведет "Пост"
Этот код делает то же самое, что и следующий:
global $wp_post_types;
$obj = $wp_post_types['post'];
echo $obj->labels->singular_name; // Выведет "Пост"
Структура объекта
Вот пример того, как может выглядеть объект базового типа записи "пост":
$obj = get_post_type_object( 'post' );
/*
$obj будет содержать:
stdClass Object
(
[labels] => stdClass Object
(
[name] => Посты
[singular_name] => Пост
[add_new] => Добавить новый
[add_new_item] => Добавить пост
[edit_item] => Редактировать пост
[new_item] => Новый пост
[view_item] => Просмотр поста
[search_items] => Найти посты
[not_found] => Посты не найдены.
[not_found_in_trash] => В корзине нет постов.
[parent_item_colon] =>
[all_items] => Все посты
[menu_name] => Посты
[name_admin_bar] => Пост
)
[description] =>
[public] => 1
[hierarchical] =>
[exclude_from_search] =>
[publicly_queryable] => 1
[show_ui] => 1
[show_in_menu] => 1
[show_in_nav_menus] => 1
[show_in_admin_bar] => 1
[menu_position] =>
[menu_icon] =>
[capability_type] => post
[map_meta_cap] => 1
[register_meta_box_cb] =>
[taxonomies] => Array
(
)
[has_archive] =>
[rewrite] =>
[query_var] =>
[can_export] => 1
[delete_with_user] => 1
[_builtin] => 1
[_edit_link] => post.php?post=%d
[name] => post
[cap] => stdClass Object
(
[edit_post] => edit_post
[read_post] => read_post
[delete_post] => delete_post
[edit_posts] => edit_posts
[edit_others_posts] => edit_others_posts
[publish_posts] => publish_posts
[read_private_posts] => read_private_posts
[read] => read
[delete_posts] => delete_posts
[delete_private_posts] => delete_private_posts
[delete_published_posts] => delete_published_posts
[delete_others_posts] => delete_others_posts
[edit_private_posts] => edit_private_posts
[edit_published_posts] => edit_published_posts
[create_posts] => edit_posts
)
[label] => Посты
)
*/
Обратите внимание, что имена атрибутов объекта немного отличаются от аргументов, ожидаемых в функции register_post_type()
.
Примечания
- Глобальная переменная:
$wp_post_types
— это массив типов записей, зарегистрированных в WordPress. - Чтобы получить дополнительную информацию, ознакомьтесь с функцией
register_post_type()
.
Изменения
- В версии 3.0.0 функция была введена.
- Начиная с версии 4.6.0, возвращаемый объект теперь является экземпляром
WP_Post_Type
.
Связанные функции
add_post_type_support()
get_post_type()
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()
get_post_permalink()
get_post_type_archive_link()
get_the_post_type_description()
is_post_type_archive()
post_type_archive_title()