Описание функции register_post_type()
Функция register_post_type() используется для регистрации пользовательских типов записей в WordPress. Это позволяет разработчикам создавать и управлять новыми типами контента, такими как товары, отзывы или события. Пользовательские типы записей могут иметь свои собственные мета-поля, таксономии и пользовательские шаблоны отображения.
Функция должна вызываться в хуке ‘init’ или позже, чтобы гарантировать, что все необходимые компоненты WordPress загружены.
Параметры
$post_type
Тип: string
Обязательный: Да
Описание: Уникальный идентификатор пользовательского типа записи
Возможные значения:
$args
Тип: array
Обязательный: Нет
По умолчанию: array()
Описание: Массив аргументов для настройки типа записи
Возможные значения:
label: Название типа записи
public: 1,
hierarchical: 1,
supports: title, editor, thumbnail, custom-fields
has_archive: 1,
rewrite: Настройки перезаписи URL
Возвращаемое значение
Тип: void
Описание: Функция ничего не возвращает
Возможные значения:
Примеры использования
Регистрация пользовательского типа записи ‘Книги’
function my_custom_post_type() {
register_post_type('book', array(
'label' => 'Книги',
'public' => true,
'supports' => array('title', 'editor', 'thumbnail')
));
}
add_action('init', 'my_custom_post_type');
Тип записи доступен для публичного просмотра
Регистрация пользовательского типа записи ‘События’ с архивом и специальным слагом
function my_custom_post_type() {
register_post_type('event', array(
'label' => 'События',
'public' => true,
'has_archive' => true,
'rewrite' => array('slug' => 'events'),
'supports' => array('title', 'editor', 'thumbnail', 'custom-fields')
));
}
add_action('init', 'my_custom_post_type');
События будут доступны по URL /events
Безопасность
Валидация входных данных: Параметр post_type проходит валидацию на уникальность
Санитизация: Аргументы автоматически очищаются WordPress
Рекомендации: Избегайте использования одинаковых идентификаторов для разных типов записей
— Связанные функции
Регистрация пользовательских таксономий для типов записей
Добавление поддержки для встроенных функций к пользовательскому типу записи
— Примечания
– Ограничения
Некоторые параметры могут не работать с определенными типами записей
– Частые проблемы
- Ошибка при регистрации с тем же идентификатором
- Тип записи может не отображаться, если не задан ‘public’ = true