/** * Initializes required capabilities. * Supports 3 filters: * * jigoshop\role\customer - customer role capabilities array * * jigoshop\role\shop_manager - shop manager role capabilities array * * jigoshop\capability\types - capabilities for custom types * * @param Wordpress $wp */ public function initialize(Wordpress $wp) { $this->wp = $wp; $roles = $wp->getRoles(); // Customer role $wp->addRole('customer', __('Customer', 'jigoshop'), $wp->applyFilters('jigoshop\\role\\customer', array('read' => true, 'edit_posts' => false, 'delete_posts' => false))); // Shop manager role $wp->addRole('shop_manager', __('Shop Manager', 'jigoshop'), $wp->applyFilters('jigoshop\\role\\shop_manager', array('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))); foreach ($this->getCapabilities() as $group) { foreach ($group as $cap) { $roles->add_cap('administrator', $cap); $roles->add_cap('shop_manager', $cap); } } }