get_post_type_object()
Отримує об’єкт (дані) зазначеного типу запису: post , page , attachment чи новий тип записи . Об’єкт містить усі параметри типу запису.
Основа для:
acf_get_object_type() ,
get_the_post_type_description() ,
post_type_exists() ,
get_post_type_archive_link()
acf_get_object_type() ,
get_the_post_type_description() ,
post_type_exists() ,
get_post_type_archive_link()
1 раз – 0.000068 сек
(дуже швидко) | 50000 разів – 2.36 сек
(швидко) |
PHP 7.0.5, WP 4.5.2
(дуже швидко) | 50000 разів – 2.36 сек
(швидко) |
PHP 7.0.5, WP 4.5.2
Хуків немає.
Повертає
WP_Post_Type|null. Об’єкт із усіма даними про тип запису. З версії 4.6. повертає екземпляр об’єкта WP_Post_Type .
Використання
get_post_type_object($ post_type);
- $post_type
(рядок) (обов’язковий) - Назва зареєстрованого типу запису.
Приклади
#1 Отримаємо назву довільного типу посту
Для виведення на екран отримаємо локалізовану назву типу посту:
$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;
#2 Як виглядає об’єкт
Для наочності: об’єкт базового типу посту “post” виглядає так:
$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] => Записи
)
*/
нотатки
- Global. Масив. $wp_post_types List of post types.
- Дивіться: register_post_type()
список змін
| З версії 3.0.0 | Введено. |
| З версії 4.6.0 | Object returned is now instance of WP_Post_Type . |
Код get_post_type_object() get post type object WP 6.0.2
function get_post_type_object( $post_type ) {
Global $wp_post_types;
if ( ! is_scalar( $post_type ) || empty( $wp_post_types[ $post_type ] ) ) {
return null;
}
return $wp_post_types[ $post_type ];
}