Регистрация стандартных типов записей в WordPress

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

Leave a Reply

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