WordPress capability_type arguments

Looks like a CPT with custom capability_type won’t show up by default even as super admin. Even manually adding the permissions for the desired user role (licensing-admin in my case) didn’t make it happen – I had to manually add the capabilities for the administrator as well, then everything fell into place.

Stuck this code in my plugin activation hook and good to go.

$roles = array( get_role('licensing-admin'), get_role('administrator') );

foreach($roles as $role) {
  if($role) {
    $role->add_cap('edit_license');
    $role->add_cap('read_license');
    $role->add_cap('delete_license');
    $role->add_cap('edit_licenses');
    $role->add_cap('edit_others_licenses');
    $role->add_cap('publish_licenses');
    $role->add_cap('read_private_licenses');
    $role->add_cap('delete_licenses');
    $role->add_cap('delete_private_licenses');
    $role->add_cap('delete_published_licenses');
    $role->add_cap('delete_others_licenses');
    $role->add_cap('edit_private_licenses');
    $role->add_cap('edit_published_licenses');
  }
}