В WordPress для этого регистрируются типы записей и таксономии к ним с помощью функций
register_post_type()
и
register_taxonomy()
соответственно. Эта регистрация может осуществляться в теме или в плагинах
Чтобы стилизовать страницы произвольного типа вы можете создать в корне темы шаблон single-service.php,
тут подробнее. Вы так же можете использовать проверку
if ( get_post_type() === 'service' ) { ... }
в любом месте проекта (где определены глобальные переменные)
А чтобы добавить выбор шаблона, вы должны при его создании перечислить пост тайпы, к которым он относится примерно так:
/*
Template Name: Мой шаблон страницы
Template Post Type: post, page, service
*/