Читайте про custom fields. Если опыта мало то реализуется через плагин Advanced Custom Fields
Если уверенность в успешном написании своего небольшого плагина есть - то через функции записи сохранения-редактирования и(если нужно) удаления произвольного поля. + Функции создания метабокса в CPT
add_post_meta, get_post_meta, delete_post_meta, add_action('add_meta_boxes', 'функция метабокса');
Также могут понадобиться:
- ajax
add_action( 'wp_ajax_инсполняющая_функция', 'исполняющая_функция' );
add_action( 'wp_ajax_nopriv_исполняющая_функция', 'исполняющая_функция' );
- Подключение JS
function js_includer(){
wp_enqueue_script('js_functions', plugin_dir_url( __FILE__ ). '/js/functions.js');
wp_localize_script( 'js_functions', 'ajaxurl', admin_url( 'admin-ajax.php' ) );
}
add_action( 'admin_enqueue_scripts', 'js_includer' );