Как создать на wp кастомную роль с просмотром post_type?
интересный вопрос.....Спасибо!
Пройдя по ссылке Анатолия и поковырявшись вот такой вариант у меня вышел)):
создаем новую рольadd_role('newvabuser',
		__('Новый пользователь','VAB'),
		array(
		'read'=>true,
		'edit_posts'=>false,
		'delete_posts'=>false,
		'publish_posts'=>false,
		'upload_files'=>true,
	 )
	);
насколько я понял данный код можно удалить после того как роль с массивом попадет в базу....
если что не так, используйтеremove_role('newvabuser');
далее создаем новый пост типadd_action('init','create_custom_post_types');
function create_custom_post_types(){
	register_post_type('vabs',
		array(
			'labels'=>array(
					'name'=>__('Новый тип записи','VAB'),
					'singular_name'=>__('Новый тип записи','VAB'),
					'menu_name'=>__('Новый тип записи','VAB'),
					'add_new'=>__('Добавить новую','VAB'),
					'add_new_item'=>__('Добавить новую','VAB'),
					'edit_item'=>__('Редактировать','VAB'),
					'new_item'=>__('Новая','VAB'),
					'all_items'=>__('Все записи','VAB'),
					'view_item'=>__('Просмотр','VAB'),
					'search_items'=>__('Искать','VAB'),
					'not_found'=>__('Записи не найдены','VAB'),
					'not_found_in_trash'=>__('В корзине записи не найдены','VAB'),
					'parent_item_colon'=>''
			),
			'public'=>true,
			'has_archive'=>true,
			'rewrite'=>array('slug'=>'vab'),
			'capability_type'=>'vab',
			'capabilities'=>array(
				'publish_posts'=>'publish_vabs',
				'edit_posts'=>'edit_vabs',
				'edit_others_posts'=>'edit_others_vabs',
				'delete_posts'=>'delete_vabs',
				'delete_others_posts'=>'delete_others_vabs',
				'read_private_posts'=>'read_private_vabs',
				'edit_post'=>'edit_vabs',
				'delete_post'=>'delete_vabs',
				'read_post'=>'read_vabs',
				'assign_terms' =>'edit_taxo',
				'manage_terms'=>'manage_vab_terms',
				'edit_terms'=>'manage_vab_terms',
				'delete_terms'=>'delete_vab_terms',
				'assign_terms'=>'edit_vab-type'
			),
			'supports'=>array('title','editor','thumbnail')
		)
	);
}
важно обратить внимание на массив с параметрами capabilities. его мы дальше передадим нашей роли:add_action('admin_init','add_vabs_caps');
function add_vabs_caps(){
	$admins=get_role('newvabuser');
	$admins->add_cap('edit_vabs');
	$admins->add_cap('publish_vabs');
	$admins->add_cap('read_vabs');
	$admins->add_cap('read_private_vabs');
	$admins->add_cap('delete_vabs');
	$admins->add_cap('edit_taxo');
	$admins->remove_cap('edit_others_vabs');
	$admins->remove_cap('delete_others_vabs');
	$admins->add_cap('manage_vab_terms');
	$admins->add_cap('delete_vab_terms');
	$admins->add_cap('edit_vab-type');
	$admins->add_cap('manage_categories');
	$admins->add_cap('edit_categories');
	$admins->add_cap('delete_categories');
	$admins->add_cap('assign_categoriess');
}
В итогах данную запись смогут редактировать только админ и пользователь с данной ролью больше никто:
Вам нужно все это только под себя переделать
Роль и права создаются разово.
Может есть смысл использовать плагин.
Например User Role Editor.