В прошлой статье я поделился своим опытом создания произвольного типа записей с помощью плагина. Но бывают случаи когда использовать плагин просто нет возможности. Так как WordPress очень гибкая система, то она позволяет решать задачи несколькими способами, через плагины и через хуки. С помощью хуков так же легко добавить свой тип записей, достаточно изменить файл functions.php Вашей активной темы.
Ниже привел пример создания пользовательского типа записей с помощью кода.
add_action('init', 'services_register_post_type_init');
function services_register_post_type_init()
{
$labels = array(
'name' => 'Услуги',
'singular_name' => 'Услуга',
'add_new' => 'Добавить услугу',
'add_new_item' => 'Добавить услуга',
'edit_item' => 'Редактировать услугу',
'new_item' => 'Новая услуга',
'all_items' => 'Услуги',
'search_items' => 'Искать услугу',
'not_found' => 'По заданным критериям не найдено.',
'not_found_in_trash' => 'В корзине нет ничего.',
'menu_name' => 'Услуги'
);
$args = array(
'labels' => $labels,
'public' => true,
'publicly_queryable' => true,
'menu_icon' => 'dashicons-email-alt2',
'menu_position' => 2,
'supports' => array('title', 'editor', 'thumbnail', 'excerpt'),
'taxonomies' => [],
'has_archive' => true,
);
register_post_type('services', $args);
}
Code language: PHP (php)
Данный скрипт добавляет новый тип записей services в систему. Как мы видим в описании функции имеется два массива. Первый массив содержит описание видимой части. Второй массив содержит настройки нашего типа записей, публичный ли он, указываем какую иконку будем использовать в меню, позицию самого пункта в меню, блоки которые будет содержаться в нем и т.д.
Как вы видите создать произвольный тип записей с помощью кода очень легко и просто.