Guest User

Untitled

a guest
Mar 22nd, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.80 KB | None | 0 0
  1. <?php
  2. add_filter('map_meta_cap', function($caps, $cap, $user_id, $args) {
  3. if($cap === 'edit_user') {
  4. $subject = get_userdata($user_id);
  5. $target = get_userdata($args[0]);
  6. if(in_array('subject_role_to_allow', $subject->roles)
  7. && in_array('target_role', $target->roles)) {
  8. /**
  9. * We use edit_others_posts because the subject_role_to_allow
  10. * edit users of a dependent role, is a superset of Editor role
  11. * maybe any other already granted capability to this user/role
  12. * could work
  13. */
  14. return array_merge(['edit_others_posts'],
  15. array_filter($caps, function($role) {
  16. return $role !== 'edit_users';
  17. }));
  18. }
  19. }
  20. return $caps;
  21. }, 13, 4);
Add Comment
Please, Sign In to add comment