Я напишу альтернативный вариант, не самый быстрый, но реализуемый. Если не найдете решение, могу чуть подробнее написать.
Вы можете использовать кастомный тип, создать тип отвечающий вашим условиям, поставить Advanced Custom Fields и для постов этого типа указать нужный поля.
У этого типа появится архивная страница (если при создании укажите что она нужна), там вы можете выводить общий список как душе угодно, переходить в конкретную, сделать формочку при открытии конкретной страницы с редактированием и с помощью ajax обновлять это всё дело отправляя запрос к admin-ajax.php. На самом деле решается за пару часов. Для защиты страниц, поставить условие для защиты от НЕ администраторов или редакторов, что-то вроде:
$user = wp_get_current_user();
$allowed_roles = array('editor', 'administrator', 'author');
<?php if( array_intersect($allowed_roles, $user->roles ) ) { ?>
// Форма редактирования
<?php } ?>