WC_Install::create_roles PHP Method

create_roles() public static method

Create roles and capabilities.
public static create_roles ( )
    public static function create_roles()
    {
        global $wp_roles;
        if (!class_exists('WP_Roles')) {
            return;
        }
        if (!isset($wp_roles)) {
            $wp_roles = new WP_Roles();
        }
        // Customer role
        add_role('customer', __('Customer', 'woocommerce'), array('read' => true));
        // Shop manager role
        add_role('shop_manager', __('Shop manager', 'woocommerce'), array('level_9' => true, 'level_8' => true, 'level_7' => true, 'level_6' => true, 'level_5' => true, 'level_4' => true, 'level_3' => true, 'level_2' => true, 'level_1' => true, 'level_0' => true, 'read' => true, 'read_private_pages' => true, 'read_private_posts' => true, 'edit_users' => true, 'edit_posts' => true, 'edit_pages' => true, 'edit_published_posts' => true, 'edit_published_pages' => true, 'edit_private_pages' => true, 'edit_private_posts' => true, 'edit_others_posts' => true, 'edit_others_pages' => true, 'publish_posts' => true, 'publish_pages' => true, 'delete_posts' => true, 'delete_pages' => true, 'delete_private_pages' => true, 'delete_private_posts' => true, 'delete_published_pages' => true, 'delete_published_posts' => true, 'delete_others_posts' => true, 'delete_others_pages' => true, 'manage_categories' => true, 'manage_links' => true, 'moderate_comments' => true, 'unfiltered_html' => true, 'upload_files' => true, 'export' => true, 'import' => true, 'list_users' => true));
        $capabilities = self::get_core_capabilities();
        foreach ($capabilities as $cap_group) {
            foreach ($cap_group as $cap) {
                $wp_roles->add_cap('shop_manager', $cap);
                $wp_roles->add_cap('administrator', $cap);
            }
        }
    }

Usage Example

Exemplo n.º 1
0
 /**
  * Test - create roles
  */
 public function test_create_roles()
 {
     // Clean existing install first
     if (!defined('WP_UNINSTALL_PLUGIN')) {
         define('WP_UNINSTALL_PLUGIN', true);
     }
     include dirname(dirname(dirname(dirname(__FILE__)))) . '/uninstall.php';
     \WC_Install::create_roles();
     $this->assertNotNull(get_role('customer'));
     $this->assertNotNull(get_role('shop_manager'));
 }
All Usage Examples Of WC_Install::create_roles