get_post_type_object() WP 3.0.0

Отримує об’єкт (дані) зазначеного типу запису: post , page , attachment чи новий тип записи . Об’єкт містить усі параметри типу запису.

1 раз – 0.000068 сек
(дуже швидко) | 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
(рядок) (обов’язковий)
Назва зареєстрованого типу запису.

Приклади

0

#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;
0

#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] => Записи
)
*/

нотатки

список змін

З версії 3.0.0Введено.
З версії 4.6.0Object returned is now instance of WP_Post_Type .

Код 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 ];
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *