Advertisement
Guest User

Untitled

a guest
Apr 19th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. <?php
  2. /*
  3. * example usage: $results = reset_role_WPSE_82378( 'subscriber' );
  4. * per add_role() (WordPress Codex), $results "Returns a WP_Role object
  5. * on success, null if that role already exists."
  6. *
  7. * possible $role values:
  8. * 'administrator'
  9. * 'editor'
  10. * 'author'
  11. * 'contributor'
  12. * 'subscriber'
  13. */
  14. function reset_role_akrr( $role ) {
  15. $default_roles = array(
  16. 'administrator' => array(
  17. 'switch_themes' => 1,
  18. 'edit_themes' => 1,
  19. 'activate_plugins' => 1,
  20. 'edit_plugins' => 1,
  21. 'edit_users' => 1,
  22. 'edit_files' => 1,
  23. 'manage_options' => 1,
  24. 'moderate_comments' => 1,
  25. 'manage_categories' => 1,
  26. 'manage_links' => 1,
  27. 'upload_files' => 1,
  28. 'import' => 1,
  29. 'unfiltered_html' => 1,
  30. 'edit_posts' => 1,
  31. 'edit_others_posts' => 1,
  32. 'edit_published_posts' => 1,
  33. 'publish_posts' => 1,
  34. 'edit_pages' => 1,
  35. 'read' => 1,
  36. 'level_10' => 1,
  37. 'level_9' => 1,
  38. 'level_8' => 1,
  39. 'level_7' => 1,
  40. 'level_6' => 1,
  41. 'level_5' => 1,
  42. 'level_4' => 1,
  43. 'level_3' => 1,
  44. 'level_2' => 1,
  45. 'level_1' => 1,
  46. 'level_0' => 1,
  47. 'edit_others_pages' => 1,
  48. 'edit_published_pages' => 1,
  49. 'publish_pages' => 1,
  50. 'delete_pages' => 1,
  51. 'delete_others_pages' => 1,
  52. 'delete_published_pages' => 1,
  53. 'delete_posts' => 1,
  54. 'delete_others_posts' => 1,
  55. 'delete_published_posts' => 1,
  56. 'delete_private_posts' => 1,
  57. 'edit_private_posts' => 1,
  58. 'read_private_posts' => 1,
  59. 'delete_private_pages' => 1,
  60. 'edit_private_pages' => 1,
  61. 'read_private_pages' => 1,
  62. 'delete_users' => 1,
  63. 'create_users' => 1,
  64. 'unfiltered_upload' => 1,
  65. 'edit_dashboard' => 1,
  66. 'update_plugins' => 1,
  67. 'delete_plugins' => 1,
  68. 'install_plugins' => 1,
  69. 'update_themes' => 1,
  70. 'install_themes' => 1,
  71. 'update_core' => 1,
  72. 'list_users' => 1,
  73. 'remove_users' => 1,
  74. 'add_users' => 1,
  75. 'promote_users' => 1,
  76. 'edit_theme_options' => 1,
  77. 'delete_themes' => 1,
  78. 'export' => 1,
  79. ),
  80. 'editor' => array(
  81. 'moderate_comments' => 1,
  82. 'manage_categories' => 1,
  83. 'manage_links' => 1,
  84. 'upload_files' => 1,
  85. 'unfiltered_html' => 1,
  86. 'edit_posts' => 1,
  87. 'edit_others_posts' => 1,
  88. 'edit_published_posts' => 1,
  89. 'publish_posts' => 1,
  90. 'edit_pages' => 1,
  91. 'read' => 1,
  92. 'level_7' => 1,
  93. 'level_6' => 1,
  94. 'level_5' => 1,
  95. 'level_4' => 1,
  96. 'level_3' => 1,
  97. 'level_2' => 1,
  98. 'level_1' => 1,
  99. 'level_0' => 1,
  100. 'edit_others_pages' => 1,
  101. 'edit_published_pages' => 1,
  102. 'publish_pages' => 1,
  103. 'delete_pages' => 1,
  104. 'delete_others_pages' => 1,
  105. 'delete_published_pages' => 1,
  106. 'delete_posts' => 1,
  107. 'delete_others_posts' => 1,
  108. 'delete_published_posts' => 1,
  109. 'delete_private_posts' => 1,
  110. 'edit_private_posts' => 1,
  111. 'read_private_posts' => 1,
  112. 'delete_private_pages' => 1,
  113. 'edit_private_pages' => 1,
  114. 'read_private_pages' => 1,
  115. ),
  116. 'author' => array(
  117. 'upload_files' => 1,
  118. 'edit_posts' => 1,
  119. 'edit_published_posts' => 1,
  120. 'publish_posts' => 1,
  121. 'read' => 1,
  122. 'level_2' => 1,
  123. 'level_1' => 1,
  124. 'level_0' => 1,
  125. 'delete_posts' => 1,
  126. 'delete_published_posts' => 1,
  127. ),
  128. 'contributor' => array(
  129. 'edit_posts' => 1,
  130. 'read' => 1,
  131. 'level_1' => 1,
  132. 'level_0' => 1,
  133. 'delete_posts' => 1,
  134. ),
  135. 'subscriber' => array(
  136. 'read' => 1,
  137. 'level_0' => 1,
  138. ),
  139. 'display_name' => array(
  140. 'administrator' => 'Administrator',
  141. 'editor' => 'Editor',
  142. 'author' => 'Author',
  143. 'contributor' => 'Contributor',
  144. 'subscriber' => 'Subscriber',
  145. ),
  146. );
  147. $role = strtolower( $role );
  148. remove_role( $role );
  149. return add_role( $role, $default_roles['display_name'][$role], $default_roles[$role] );
  150. } // function reset_role_akrr
  151.  
  152. add_action( 'init', function() {
  153. reset_role_akrr('administrator');
  154. } );
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement