Здравствуйте!
1) Создайте кастомный тип записи (добавьте в functions.php)
<?php
// Регистрируем кастомные типы записей и таксономии
add_action('init', 'register_post_types');
function register_post_types(){
register_post_type('personal', array(
'label' => 'Персонал',
'labels' => array(
'name' => 'Персонал',
'singular_name' => 'Персонал',
'add_new' => 'Добавить сотрудника',
'add_new_item' => 'Введите заголовок',
'edit_item' => 'Редактирование персонала',
'new_item' => 'Новый сотрудник',
'view_item' => 'Посмотреть сотрудника',
'search_items' => 'Искать сотрудника',
'not_found' => 'Сотрудников не найдено',
'not_found_in_trash' => 'В корзине сотрудников не найдено',
'parent_item_colon' => '',
'menu_name' => 'Персонал',
),
'description' => 'Персонал',
'public' => true,
'publicly_queryable' => true,
'exclude_from_search' => false,
'show_ui' => true,
'show_in_menu' => true,
'show_in_admin_bar' => true,
'menu_position' => 24,
'menu_icon' => 'dashicons-format-video',
'capability_type' => 'post',
'map_meta_cap' => true,
'hierarchical' => false,
'supports' => array('title'),
'taxonomies' => array('portfolio-category'),
'has_archive' => true,
'rewrite' => array('slug' => 'personals', 'with_front' => false),
'query_var' => true,
) );
}
?>
2) Установите плагин ACF и создайте кастомные поля
https://ru.wordpress.org/plugins/advanced-custom-f...
Имя - тип поля
"Текст"
Фамилия - тип поля "Текст"
Должность - тип поля "Текст"
Фото - тип поля
"Изображение", тип возвращаемого значения - ссылка на изображение
Назначьте эту группу полей для типа записи "Персонал".
3) Создайте минимально необходимый набор шаблонов:
single-personal.php (шаблон для отображения единичной записи сотрудника). Можно структуру шаблона скопировать из single.php.
Далее просто выведите созданные вами поля в шаблоне.
Например, если вы задали название поля для имени name, то
<?php the_field('name'); ?>
для изображения:
<img src="<?php the_field('image')?>" width="100%"/>
ну и т.д.
И это все дело нужно вывести внутри цикла ВП.