Для того что бы каким-либо разным образом систематизировать, представлять и структурировать контент в WordPress, существуют таксономии и произвольные типы записей.
Например вы хотит по мимо стандартных «записей» и «страниц» WordPress, сделать еще свой тип записей с меню в админке — например «Вакансии».
Для этого следует:
1) Внести правки в файл function.php вашей текущей темы
//Раздел Вакасии add_action('init', 'register_post_type_jobs'); function register_post_type_jobs() { $labels = array( 'name' => 'Вакансии', 'singular_name' => 'Вакансии', // админ панель 'add_new' => 'Добавить Вакансии', 'add_new_item' => 'Добавить новую вакансию', // заголовок тега <title> 'edit_item' => 'Редактировать вакансию', 'new_item' => 'Новая вакансия', 'all_items' => 'Все вакансии', 'view_item' => 'Просмотр вакансий на сайте', 'search_items' => 'Искать вакансии', 'not_found' => 'Вакансий не найдено.', 'not_found_in_trash' => 'В корзине нет вакансий.', 'menu_name' => 'Вакансии' // ссылка в меню в админке ); $args = array( 'labels' => $labels, 'description' => 'Тип записей для публикации вакансий на сайте ', 'public' => true, //Показывать или прятать в меню 'publicly_queryable' => true, 'exclude_from_search' => false, 'show_ui' => true, 'show_in_menu' => true, 'menu_position' => 10, 'menu_icon' => 'dashicons-welcome-write-blog', //'capability_type' => 'post', //'capabilities' => 'post', // массив дополнительных прав для этого типа записи 'map_meta_cap' => true, // Ставим true чтобы включить дефолтный обработчик специальных прав 'hierarchical' => true, 'supports' => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments'), 'taxonomies' => array('cat_jobs'), //Таксономия которая создаётся ниже по коду 'has_archive' => true, 'rewrite' => array('feeds', 'pages', 'slug'), 'query_var' => true, 'show_in_nav_menus' => null, 'can_export' => true, ); register_post_type('jobs', $args); //Тип записи } add_action('init', 'taxonomy_jobs',0); function taxonomy_jobs() { // заголовки $labels = array( //Массив для визуального представленяи в админке 'name' => 'Категория', 'singular_name' => 'Категория', 'search_items' => 'Найти Категорию', 'all_items' => 'Все категории', 'parent_item' => 'Родительская категория', 'parent_item_colon' => 'Родительская категория:', 'edit_item' => 'Редактировать Категорию', 'update_item' => 'Обновить категорию', 'add_new_item' => 'Добавить категорию', 'new_item_name' => 'Имя новой категории', 'menu_name' => 'Категории', ); // параметры $args = array( 'label' => '', // определяется параметром $labels->name 'labels' => $labels, 'public' => true, 'show_in_nav_menus' => true, // равен аргументу public 'show_ui' => true, // равен аргументу public 'show_tagcloud' => false, // равен аргументу show_ui 'hierarchical' => true, //определяет формат пользовательской таксономии. false - метки 'update_count_callback' => '', 'rewrite' => true, //'query_var' => $taxonomy, // название параметра запроса 'capabilities' => array(), 'meta_box_cb' => 'post_categories_meta_box', // callback функция. Отвечает за html код метабокса (с версии 3.8): post_categories_meta_box или post_tags_meta_box. Если указать false, то метабокс будет отключен вообще 'show_admin_column' => false, // Позволить или нет авто-создание колонки таксономии в таблице ассоциированного типа записи. (с версии 3.5) '_builtin' => false, 'show_in_quick_edit' => null, // по умолчанию значение show_ui 'show_in_quick_edit' => true, ); register_taxonomy('cat_jobs', array('jobs'), $args); //Указываем таксономии cat_jobs использовать тип записей 'jobs' } //Конец Вакансии
2) Создать два шаблона для вывода архива ваших Вакансий и для показа каждой вакансии
Так как выше в коде мы создали таксономию «cat_jobs» и тип записей «jobs», создаём соответственно файлы в корне вашей темы «taxonomy-cat_jobs.php» (для отображения архива вакансий) и «single-jobs.php» (для отображения отдельной вакансии). Если вы любите эксперементировать с отображением, тогда возьмите содержимое файла «archive.php» и заполните им «taxonomy-cat_jobs.php», а из файла «single.php» содержимое в «single-jobs.php». Просто пустые файлы «single-jobs.php» и «taxonomy-cat_jobs.php» дадут вам на сайте «белый лист».
3) Зайти в настройки вашего WordPress в меню «Постоянный ссылки» и нажать кнопку сохранить. Данное действие нужно что бы не получать ошибку 404 при заходе на страницу новой таксономии и произвольного типа записи.
Итогом в админке у вас будет вот такая штука
PS: Способ чисто технический. Для достижения такого-же эффекта есть много хороших плагинов.