Class DS_Role

DS_Role class
Manage user permissions, roles and other user-based functionality for development
@version 1.0
@see includes/class-ds-roles.php

Features

  • Uses WP’s add_role() to add custom roles with more flexibility, using a simple string or multidimensional array
    • String:
      $test = new DS_Role('peasant');
    • Array:
      $roles = array(
          'guest' => array(
              'capabilities' => 'subscriber' # inherit role by string
          ),
          'tech' => array(
              'display_name' => Technician',
              'capabilities' => array(
                  'contributor' => 1, #inherit role by array key
                  'edit_themes' => 1,
                  'tech_only_cap' => 1, #custom capability, added to admin automatically
              )
          ),
          'web_master' => array(
              'display_name' => 'Web Master',
              'capabilities' => 'administrator'
          ),
      );
      $my_custom_roles = new DS_Role($roles);
  • Inherits previously defined roles and capabilities
  • Automatically adds custom capabilities to standard “administrator” role (standard WP practice)
  • Static method for removing all custom roles, seeĀ clear_roles()
  • Static methods for front-end conditional statments