Shop manager caps

<?php

// Add custom capabilities to roles
add_action('admin_init', function() {
  $roles = ['saloon_owner', 'shop_manager'];
  $capabilities = [
      'view_woocommerce_reports',
  ];
  foreach($roles as $role) {
    $wp_role = get_role($role);
    if($wp_role) {
      foreach($capabilities as $cap) {
        $wp_role->add_cap($cap, true);
      }
    }
  }
}, 999999);

// Allow shop_manager to edit more roles
add_filter( 'woocommerce_shop_manager_editable_roles', function($roles) {
	if($wc_edit_roles = get_field('wc_edit_roles', 'option')) {
		foreach($wc_edit_roles as $role) {
			$roles[] = $role;
		}
	}
	return $roles;
}, 10, 1);
Last Updated:
Contributors: Niek Vlam, Suite Seven