The way that WordPress roles and capabilities are set up, there is only level of Super Admin available. Without this plugin, the only way to grant a user control over certain aspects of the network, you have to grant that user control over all aspects.
This plugin allows you to revoke specific privileges from any Super Admin on the network. You can create new roles within the site, then assign any Super Admin to that role; effectively removing the appropriate privileges.
This plugin does not grant any new privileges (with the possible exception of the ability to manage the settings for this plugin itself) to any users. It is only capable of removing privileges.
This plugin is also built to be compatible with the WordPress Multi Network plugin and the Networks for WordPress plugin. If either of those plugins is active, the options for this plugin will be saved and used for all of the networks within the installation.
The current, stable version of this plugin is v0.6a.
- This plugin requires WordPress. It might work with WordPressMU versions older than 3.0, but it has not been tested with those.
- This plugin requires WordPress to be setup in Multi Site mode. It will not do anything at all if the Multi Site functions are not enabled.
- This plugin also requires PHP5. Some attempt has been made to make it compatible with PHP4, but it has not been tested in that environment.
You can download this plugin from the WordPress plugin repository.
- Download and unzip the extended-super-admins package.
- Upload the ‘extended-super-admins’ folder to the ‘/wp-content/plugins/’ directory
- Activate the plugin through the ‘Plugins’ menu in WordPress
- Promote any users that you want to manage through this plugin to Super Admin status
- Begin creating new Super Admin roles on the settings page for this plugin, and assign the appropriate users to those new roles
Adding a New Role
- Go to the “Extended Super Admins” options page
- If you are using WordPress 3.0.x, this will be part of the “Super Admins” menu in the administration area.
- If you are using WordPress 3.1.x, this will be in the “Network Admin” area, under the “Settings” menu.
- Enter the name of the new role.
- Decide which capabilities to remove from any user assigned to this role, and check off each of those capabilities.
- Select the users that should be assigned to this role from the list.
Frequently Asked Questions
- How do I let you know if I find a bug?
- Please either hit me up on Twitter @cgrymala, report the issue in the WordPress Support Forums or post a comment on my website. If you e-mail me, please include “Extended Super Admins” in the subject line of the message. Thanks.
- Can I use this plugin to grant extra capabilities to user(s)?
- No. This plugin is only capable of removing privileges from a user. It cannot add extra privileges.
- Can I use this plugin on a non-Multi-Site WordPress?
- No. This plugin would be pointless for non-Multi-Site installations. It might actually generate errors if you try to use it on a site that doesn’t have the multi-site capabilities turned on.
- Can a user belong to more than one role?
- At this time, you can assign a user to multiple roles, but only the first role in the list will have an effect on that user’s capabilities. In a future version, I will look into allowing multiple roles to modify a user’s capabilities.
- How do I know what the capabilities actually do?
- You can find descriptions of most of the capabilities in the WordPress codex. The codex information is actually retrieved automatically and included on the settings page for this plugin. Wherever you see (?) next to a capability name, you can click on that to view the information from the codex. Unfortunately, there is no definitive explanation for each and every capability, so you may have to do some testing and play around with things a bit to get things working exactly the way you want. Once you figure out what the capability actually does, go ahead and modify the codex to save the next person some hassle.
- How does this plugin integrate with the WordPress Multi Network plugin from John James Jacoby or the Networks for WordPress plugin from David Dean?
- If either of those plugins is active, this plugin will attempt to use and save any and all of its settings across all of the networks. There is currently no way, with WPMN or Networks for WordPress activated, to use different settings on individual networks.
- How do I keep the users with the modified roles from being able to modify this plugin’s settings?
- This plugin creates a new capability called “manage_esa_options”. If you do not want a user to be able to modify the settings for this plugin, simply revoke that capability from any users that belong to the modified role(s).
- Make the Codex retrieval more efficient (find a better way to cache the information and a better way to compare it to Codex revisions)
- Continue to improve the UI for the plugin to make it as user-friendly as possible
Things to Note
So far, this plugin has only been tested on a handful of WordPress installations; all my own. Therefore, it is entirely possible that there could be serious bugs when used in different settings. At this time, I am seeking people to test the plugin, so please report any issues you encounter. Thank you.
Also, if you are updating from the original public alpha of this plugin, you will need to delete the old version before installing this version. The folder name changed from extended_super_admins in the initial release to extended-super-admins in newer versions.
If you downloaded and installed this plugin from the WordPress repository, you will not need to do so, as the folder name changed when adding this plugin to that repository.
License and Credits
This plugin was developed by Curtiss Grymala for the University of Mary Washington. It is licensed under the GPL2, which basically means you can take it, break it and change it any way you want, as long as the original credit and license information remains somewhere in the package.
- The admin options page now utilizes the standard WordPress meta box interface rather than using a custom interface (thanks to RavanH for the suggestion)
- Updated the way the Codex dialogs are displayed on-screen
- Fixed bugs that caused roles not to be deleted properly if they had been added without all criteria specified
- Plugin now retrieves information about each capability (where available) from the WordPress Codex
- The “stable” copy of 0.2a was missing all subfolders. Corrected this issue.
- Corrected a version inconsistency between the readme file and the main plugin file. No substantial changes were made to the functionality of this plugin.
- This is the first version.