## Функция create_initial_post_types() в WordPress
### Описание
Функция create_initial_post_types() создаёт начальные типы записе�� в WordPress, когда срабатывает действие init. Это функция, которая регистрирует стандартные типы записей, такие как посты, страницы, и медиафайлы.
#### Параметры
- **Возвращаемое значение:** null. Функция ничего не возвращает.
### Как использовать
Чтобы использовать данную функцию, просто вызовите её следующим образом:
```php
create_initial_post_types();
Пример использования
Рассмотрим пример использования функции из документации WordPress. В файле wp-settings.php вызов функции выглядит так:
// Делаем таксономии и посты доступными для плагинов и тем.
// @plugin authors: предупреждение: они будут зарегистрированы снова при срабатывании хука init.
create_initial_taxonomies();
create_initial_post_types();
Изменения
- С версии 2.9.0: Функция была впервые добавлена в WordPress.
Код функции
Ниже представлен код функции create_initial_post_types() из файла wp-includes/post.php. Эта функция регистрирует основные типы записей.
function create_initial_post_types() {
WP_Post_Type::reset_default_labels();
register_post_type(
'post',
array(
'labels' => array(
'name_admin_bar' => _x( 'Запись', 'добавить новую из админ-панели' ),
),
'public' => true,
'_builtin' => true,
'_edit_link' => 'post.php?post=%d',
'capability_type' => 'post',
'map_meta_cap' => true,
'menu_position' => 5,
'menu_icon' => 'dashicons-admin-post',
'hierarchical' => false,
'rewrite' => false,
'query_var' => false,
'delete_with_user' => true,
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'excerpt', 'trackbacks', 'custom-fields', 'comments', 'revisions', 'post-formats' ),
'show_in_rest' => true,
'rest_base' => 'posts',
'rest_controller_class' => 'WP_REST_Posts_Controller',
)
);
register_post_type(
'page',
array(
'labels' => array(
'name_admin_bar' => _x( 'Страница', 'добавить новую из админ-панели' ),
),
'public' => true,
'publicly_queryable' => false,
'_builtin' => true,
'_edit_link' => 'post.php?post=%d',
'capability_type' => 'page',
'map_meta_cap' => true,
'menu_position' => 20,
'menu_icon' => 'dashicons-admin-page',
'hierarchical' => true,
'rewrite' => false,
'query_var' => false,
'delete_with_user' => true,
'supports' => array( 'title', 'editor', 'author', 'thumbnail', 'page-attributes', 'custom-fields', 'comments', 'revisions' ),
'show_in_rest' => true,
'rest_base' => 'pages',
'rest_controller_class' => 'WP_REST_Posts_Controller',
)
);
// Описание других типов записей опущено для краткости
}
Заключение
Функция create_initial_post_types() играет важную роль в инициализации стандартных типов записей WordPress, позволяя пользоваться основными функциональными возможностями системы управления контентом. Опытные разработчики могут расширить функциональность этой функции, добавляя свои типы записей и настройки.
ЧаВо (часто задаваемые вопросы)
Что такое тип записи?
Тип записи — это способ организовать и классифицировать контент на вашем сайте. Например, посты и страницы — это стандартные типы записей в WordPress.
Как добавить свой тип записи?
Для добавления своего типа записи нужно использовать функцию register_post_type(), указав необходимые параметры и настройки.
register_post_type( 'my_custom_post', array(
'labels' => array(
'name' => 'Мои записи',
),
'public' => true,
'has_archive' => true,
'supports' => array( 'title', 'editor' ),
) );