You have to register custom capabilities and then apply inside the register post type function
function register_website_caps() {
$admins = get_role( 'administrator' );
$admins->add_cap( 'edit_website' );
$admins->add_cap( 'read_website' );
$admins->add_cap( 'delete_website' );
$admins->add_cap( 'edit_websites' );
$admins->add_cap( 'edit_others_websites' );
$admins->add_cap( 'publish_websites' );
$admins->add_cap( 'read_private_websites' );
}
add_action( 'admin_init', 'register_website_caps');
// Creating the website post type
function add_website_post_type() {
// Custom capabilities mapping
$capabilities = array(
'edit_post' => 'edit_website',
'read_post' => 'read_website',
'delete_post' => 'delete_website',
'edit_posts' => 'edit_websites',
'edit_others_posts' => 'edit_others_websites',
'publish_posts' => 'publish_websites',
'read_private_posts' => 'read_private_websites',
);
// Define all the labels
$website_post_type_labels = array(
'name' => __( 'Websites' ),
'singular_name' => __( 'Website' ),
'add_new_item' => __( 'Add New Website' ),
'edit_item' => __( 'Edit Website' ),
'new_item' => __( 'New Website' ),
'view_item' => __( 'View Website' ),
'view_items' => __( 'View Websites' ),
'not_found' => __( 'No Websites Found' ),
'not_found_in_trash' => __( 'No Deleted Websites Found' ),
'all_items' => __( 'All Websites' ),
'archives' => __( 'Website Archives' ),
'insert_into_item' => __( 'Insert Into Website' ),
'uploaded_to_this_item' => __( 'Uploaded To This Website' )
);
$website_post_type_args = array(
'labels' => $website_post_type_labels,
'public' => true,
'menu_position' => 5,
'menu_icon' => 'dashicons-feedback',
'hierarchical' => false,
'supports' => array( 'title' ),
'has_archive' => true,
'capabilities' => $capabilities,
'map_meta_cap' => true //Whether to use the internal default meta capability handling.
);
register_post_type( 'website', $website_post_type_args );
}
add_action( 'init', 'add_website_post_type', 10 );