- Limit Dashboard access to admins only, admins + editors, admins + editors + authors, or limit by specific capability.
- Choose your own redirect URL
- Optionally allow user profile access
- Optionally display a message on the login screen
- (more info)
Contribute to RDA
This plugin is in active development on GitHub. Pull requests are welcome!
Capabilities:
- You can limit Dashboard access to Admins only, Editors or above, Authors or above, or by selecting a capability. More information on WordPress’ default roles and capabilities can be found here: https://codex.wordpress.org/Roles_and_Capabilities
User Profile Access:
- You can optionally allow all users the ability to edit their profiles in the Dashboard. Users lacking the chosen capability won’t be able to access any other sections of the Dashboard.
Login Message:
- Supply a message to display on the login screen. Leaving this blank disables the message.
Hiding other plugins/themes’ Toolbar menus:
- Remove Dashboard Access removes some built-in WordPress Toolbar menus by default, but can be extended to hide menus from other plugins or themes via two filters:
rda_toolbar_nodes
(viewing from the admin), andrda_frontend_toolbar_nodes
(viewing from the front-end).
How to find the menu (node) id:
- In the HTML page source, look for the
<li>
container for the menu node you’re targeting. It should take the form of<li id="wp-admin-bar-SOMETHING">
- In
<li id="wp-admin-bar-SOMETHING">
, you want the “SOMETHING” part.
How to filter the disallowed Toolbar nodes on the front-end:
/**
* Filter hidden Toolbar menus on the front-end.
*
* @param array $ids Toolbar menu IDs.
* @return array (maybe) filtered front-end Toolbar menu IDs.
*/
function wpdocs_hide_some_toolbar_menu( $ids ) {
$ids[] = 'SOMETHING';
return $ids;
}
add_filter( 'rda_frontend_toolbar_nodes', 'wpdocs_hide_some_toolbar_menu' );
Common plugin Toolbar menus and their ids:
- Jetpack by WordPress.com (notifications) – ‘notes’
- WordPress SEO by Yoast – ‘wpseo-menu’
- W3 Total Cache – ‘w3tc’
Debug Mode
To view debugging information on the Settings > Reading screen, visit:
example.com/options-general.php?page=dashboard-access&rda_debug=1
Download from WordPress.org:
Latest version: https://downloads.wordpress.org/plugin/remove-dashboard-access-for-non-admins.1.1.5.zip
Changelog
1.1.4 & 1.1.5 on April 18, 2022
- Fixed: Deactivating and activating the plugin will no longer overwrite plugin settings
- Fixed: Deprecated function
screen_icon()
warning - Fixed: Issue when front-end editing of profiles when the
$pagenow
global is not defined (#24) - Fixed: Potential
Invalid argument supplied for foreach()
PHP warning (#22)
1.1.3
- Fixed a compatibility issue with bbPress and the media grid view.
1.1.2
- Bump tested-up-to to 4.1.0
- Miscellaneous readme changes.
1.1.1
- Move options back to Settings > Dashboard Access screen to resolve conflict with page_on_front UI.
1.1
- Instantiate as a static instance for better modularity
- Move Dashboard Access Controls settings to Settings > Dashboard Access
- Add optional login message option
- Add better settings sanitization
- New Filter:
rda_default_caps_for_role
– Filter default roles for Admins, Editors, and Authors - New Debug Mode
Bug Fixes:
- Remove unnecessarily stringent URL mask on the redirect URL option
1.0
- Complete rewrite!
- New: Limit dashboard access for Admins only or by capability
- New: Allow/disallow edit-profile access
- New: Choose your own redirect URL
- New Filter:
rda_default_access_cap
– Change default access capability - New Filter:
rda_toolbar_nodes
– Filter which back-end Toolbar nodes are hidden - New Filter:
rda_frontend_toolbar_nodes
– Filter which front-end Toolbar nodes are hidden
0.4
- Refined DOING_AJAX check for logged-out users, props @nacin and @BoiteAWeb
0.3
- Changed cap to manage_options, replaced PHP_SELF with DOING_AJAX
0.2
- Replaced preg_match with admin-ajax test. Added compatibility with rewritten dashboard URLs.
0.1
- Submitted to repository
Good day,
I’m Andrijana from WebHostingGeeks Support. We have found your plugin Remove Dashboard Access at http://werdswords.com/plugins/remove-dashboard-access-for-non-admins/ very interesting and of a significant use for the community. Since I’m of Serbian decent, I’m willing to help people from former Yugoslavia, which now represents six independent countries in Europe, better manage their internet pages by translating your plugin into Serbo-Croatian language.
Would that be ok with you?
I hope I’ll hear from you soon.
Many kind regards,
Andrijana Nikolic
[contact information redacted]