Title: EffortLess Advanced Role Manager
Author: domclic
Published: <strong>July 12, 2026</strong>
Last modified: July 12, 2026

---

Search plugins

![](https://ps.w.org/effortless-advanced-role-manager/assets/banner-772x250.jpg?
rev=3604910)

![](https://ps.w.org/effortless-advanced-role-manager/assets/icon-256x256.jpg?rev
=3604910)

# EffortLess Advanced Role Manager

 By [domclic](https://profiles.wordpress.org/domclic/)

[Download](https://downloads.wordpress.org/plugin/effortless-advanced-role-manager.2.4.7.zip)

 * [Details](https://wordpress.org/plugins/effortless-advanced-role-manager/#description)
 * [Reviews](https://wordpress.org/plugins/effortless-advanced-role-manager/#reviews)
 *  [Installation](https://wordpress.org/plugins/effortless-advanced-role-manager/#installation)
 * [Development](https://wordpress.org/plugins/effortless-advanced-role-manager/#developers)

 [Support](https://wordpress.org/support/plugin/effortless-advanced-role-manager/)

## Description

**EffortLess Advanced Role Manager** gives you complete control over WordPress user
roles and the admin interface. Create custom roles, manage capabilities, hide menus,
control dashboard widgets, restrict profile fields, and customize the admin bar –
all from one beautiful, intuitive interface.

#### 🌟 Key Features

 * **Roles & Capabilities Management** – Create, edit, and delete custom roles with
   granular capability control
 * **User Role Assignment** – Bulk assign roles to multiple users with advanced 
   search and filtering
 * **Plugin Visibility Control** – Hide plugins from specific roles in the plugins
   list
 * **Admin Menu Management** – Hide menu items and submenus per role with automatic
   detection
 * **Dashboard Widgets** – Control which widgets appear for each role with automatic
   scanning
 * **Profile Fields Restrictions** – Hide or make read-only any profile field per
   role
 * **Admin Bar Customization** – Hide admin bar items to create clean, focused interfaces

#### 💡 Perfect For

 * **Agencies** – Create professional, clean admin interfaces for clients
 * **Businesses** – Control employee access to sensitive areas
 * **Developers** – Quickly set up complex role-based permissions
 * **Membership Sites** – Customize user experience by membership level
 * **Educational Sites** – Give students and teachers appropriate access

#### ⚡ Performance

 * Built-in caching system for optimal performance
 * AJAX-powered interface for smooth user experience
 * Minimal database impact with optimized queries
 * Lazy loading for faster page loads

#### 🔒 Security

 * Nonce verification on all forms
 * Capability checks throughout
 * Input sanitization and output escaping
 * Server-side validation
 * Multiple protection layers

#### 🔌 Compatibility

Fully compatible with:

 * WordPress Multisite
 * WooCommerce
 * Yoast SEO
 * Gravity Forms
 * Elementor
 * Gutenberg Editor
 * And most WordPress plugins

#### 📖 Support

 * WordPress.org Support Forum – Active community support

#### 🎯 Use Cases

**For Clients:**
 Hide technical settings, simplify WordPress, create professional
interface

**For Content Teams:**
 Give access to posts/pages only, hide everything else, focus
on content creation

**For Support Agents:**
 Access to comments and tickets only, no site configuration

**For Shop Managers:**
 WooCommerce access only, no WordPress settings

### Advanced Features

#### Automatic Widget Detection

Unlike other plugins that require manual configuration, EffortLess Advanced Role
Manager automatically detects all dashboard widgets – from WordPress core and any
active plugins. Just visit your dashboard and the plugin scans everything automatically.

#### Smart Caching

All settings are cached for optimal performance. One-click cache clearing from the
admin interface. Automatic cache invalidation when you make changes.

#### AJAX-Powered Interface

Switch between tabs and roles without page reloads. Instant updates when changing
role selections. Smooth, modern user experience.

#### Triple Security Protection

Profile field restrictions use three layers of protection:
 1. CSS – Visual hiding/
disabling 2. JavaScript – Prevent browser manipulation 3. PHP – Server-side value
restoration

Even if someone bypasses client-side restrictions, the server ensures data integrity.

#### Developer Friendly

Built with extensibility in mind:

 * Comprehensive hook system (filters and actions)
 * Clean, documented code
 * WordPress Coding Standards compliant
 * Follows best practices
 * Easy to extend with custom tabs
 * Detailed developer documentation

#### Multisite Ready

Full support for WordPress Multisite:

 * Network admin support
 * Site-specific settings
 * Network-wide role management
 * Super admin capabilities

#### Translation Ready

 * All strings are translatable
 * Proper text domain usage
 * .pot template plus French (fr_FR), Spanish (es_ES), and Chinese Taiwan (zh_TW)
   translations included

### Privacy Policy

EffortLess Advanced Role Manager does not:

 * Collect any user data
 * Send data to external servers
 * Use cookies
 * Track user behavior
 * Store personal information beyond what WordPress requires

All plugin settings are stored locally in your WordPress database.

### Support

**Community Support:**
 Use the WordPress.org support forum for community help.

**Found a Bug?**
 Please report it in the support forum with: – WordPress version–
PHP version – Steps to reproduce – Expected vs actual behavior

### Credits

Developed with ❤️ by domclic

Special thanks to:
 * WordPress.org for the amazing platform * The WordPress community
for feedback and testing * All contributors and testers

### Technical Details

#### System Requirements

 * WordPress 6.0 or higher
 * PHP 7.4 or higher
 * MySQL 5.6 or higher
 * Modern browser (Chrome, Firefox, Safari, Edge)

#### Database Tables

Plugin uses WordPress options table only. No custom tables created.

#### Performance Metrics

 * Page load: < 200ms
 * AJAX requests: < 100ms
 * Cache hit rate: > 95%
 * Database queries: < 20 per page
 * Memory usage: < 50MB

#### Security Features

 * Nonce verification on all forms
 * Capability checks on all operations
 * Input sanitization (sanitize_text_field, sanitize_key, etc.)
 * Output escaping (esc_html, esc_attr, esc_url)
 * Prepared SQL statements (where applicable)
 * CSRF protection
 * XSS prevention
 * SQL injection prevention

#### Coding Standards

 * WordPress Coding Standards (WPCS) compliant
 * PHP CodeSniffer validated

### Roadmap

Planned features for future releases:

#### Version 1.1.0 (Q1 2025)

 * Feature: Import/Export settings
 * Feature: Role templates (Client, Support Agent, Content Manager)
 * Feature: Admin notices management
 * Feature: Login/Logout redirects per role
 * Improvement: Better WooCommerce integration
 * Improvement: Enhanced multisite support

#### Version 1.2.0 (Q2 2025)

 * Feature: Media library restrictions
 * Feature: Post type & taxonomy visibility
 * Feature: Temporary roles with expiration
 * Feature: Activity log
 * Feature: Role comparison tool

#### Version 2.0.0 (Q3 2025)

 * Feature: White label customization
 * Feature: Content access restrictions
 * Feature: REST API restrictions
 * Feature: Custom admin CSS per role
 * Feature: Advanced reporting

Want to suggest a feature? Let us know in the support forum!

### Developers

#### Hooks & Filters

**Filters:**

    ```
    effortless_rm_profile_fields - Modify profile field sections
    effortless_rm_admin_bar_items - Modify admin bar items
    ```

#### Code Example

Add custom profile fields:

    ```
    add_filter( 'effortless_rm_profile_fields', 'my_custom_fields' );
    function my_custom_fields( $fields ) {
        $fields['my_section'] = array(
            'title'       => 'My Fields',
            'description' => 'Custom fields',
            'fields'      => array(
                'my_field' => 'My Field Label',
            ),
        );
        return $fields;
    }
    ```

### Contribute

Want to contribute? We welcome:

 * Bug reports
 * Feature suggestions
 * Translations

Use the WordPress.org support forum to get in touch.

### License

This plugin is licensed under the GPL v2 or later.

    ```
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
    GNU General Public License for more details.
    ```

You should have received a copy of the GNU General Public License
 along with this
program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth
Floor, Boston, MA 02110-1301 USA

## Installation

#### Automatic Installation

 1. Log in to your WordPress admin panel
 2. Go to Plugins > Add New
 3. Search for “EffortLess Advanced Role Manager”
 4. Click “Install Now” and then “Activate”

#### Manual Installation

 1. Download the plugin zip file
 2. Go to Plugins > Add New > Upload Plugin
 3. Choose the zip file and click “Install Now”
 4. Click “Activate Plugin”

#### After Activation

 1. Go to Settings > Advanced Role Manager
 2. Choose a tab based on what you want to configure
 3. Select a role from the dropdown
 4. Make your changes and click Save

## FAQ

### Can I create custom roles?

Yes! Go to the “Roles & Capabilities” tab and click “Create New Role”. You can clone
an existing role or start from scratch.

### Will this work with WooCommerce?

Absolutely! The plugin fully supports WooCommerce capabilities, shop manager role,
and WooCommerce-specific fields.

### Can I hide dashboard widgets?

Yes! Go to the “Dashboard” tab, select a role, and check the widgets you want to
hide. The plugin automatically detects all widgets.

### How do I hide menu items?

Go to the “Admin Menu” tab, select a role, check the menus you want to hide, and
save. Changes take effect immediately.

### Can I restrict profile fields?

Yes! The “Profile Fields” tab lets you hide or make read-only any profile field.
Perfect for preventing users from changing their email or password.

### Does it work on multisite?

Yes! The plugin fully supports WordPress multisite with network admin capabilities.

### Will hidden plugins still work?

Yes! Hiding a plugin only removes it from the plugins list. It continues to function
normally.

### Can I export my settings?

Export/import functionality is planned for a future update.

### What if I lock myself out?

Always keep one administrator account unrestricted. If needed, you can deactivate
the plugin via FTP or database to restore full access.

### Does it slow down my site?

No! The plugin uses a smart caching system and only loads resources when needed.
Performance impact is minimal.

### Can I use it with other role plugins?

It’s recommended to use only one role management plugin to avoid conflicts. EffortLess
Advanced Role Manager is designed to be a complete solution.

### How do I get support?

Use the WordPress.org support forum.

## Reviews

There are no reviews for this plugin.

## Contributors & Developers

“EffortLess Advanced Role Manager” is open source software. The following people
have contributed to this plugin.

Contributors

 *   [ domclic ](https://profiles.wordpress.org/domclic/)

[Translate “EffortLess Advanced Role Manager” into your language.](https://translate.wordpress.org/projects/wp-plugins/effortless-advanced-role-manager)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/effortless-advanced-role-manager/),
check out the [SVN repository](https://plugins.svn.wordpress.org/effortless-advanced-role-manager/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/effortless-advanced-role-manager/)
by [RSS](https://plugins.trac.wordpress.org/log/effortless-advanced-role-manager/?limit=100&mode=stop_on_copy&format=rss).

## Changelog

#### 2.4.7

 * Fixed the Users tab’s pagination links pointing to admin-ajax.php (showing “0”
   or empty results) because the tab content is loaded via AJAX, so the pagination
   link builder was picking up the AJAX request URL instead of the actual admin 
   page URL.

#### 2.4.6

 * Added a “My Sites” item to the Admin Bar tab’s Multisite section (network installs
   only) — it was previously impossible to hide, since it wasn’t in the checklist
   at all.
 * Clarified in the Admin Bar tab that the Search box is a front-end-only WordPress
   core item and will never appear inside wp-admin regardless of this setting.

#### 2.4.5

 * Added a warning on the Plugins tab when the selected role lacks WordPress’s own“
   activate_plugins” capability, since WordPress core never shows the Plugins menu
   to such a role regardless of this tab’s settings.

#### 2.4.4

 * Fixed: granting a custom role the “manage_options” capability didn’t actually
   exempt it from Admin Menu/Dashboard/Admin Bar/Plugins/Profile restrictions as
   the Roles & Capabilities tab’s own tooltip promised.
 * Fixed: users assigned more than one role could bypass a restriction configured
   only for their non-primary role, since enforcement only ever checked the first
   role.
 * Fixed: hiding just “Add New “, or a taxonomy screen belonging to a non-post post
   type, didn’t block direct URL access to that screen as promised.
 * Fixed: bulk role assignment on the Users tab had no safeguard against an Administrator
   accidentally changing their own role and locking themselves out.
 * Fixed: deleting a custom role left its hidden-menu/plugins/dashboard/profile/
   admin-bar settings behind, so a new role reusing the same slug would silently
   inherit them.
 * Added the required Donate link (id7.dev) to the plugin header and readme, with
   the reusable donate notice wired up on the plugin’s Settings screen.
 * Removed the unused, never-wired-up internal cache layer.
 * Internal: consolidated six near-identical AJAX table-loading handlers into one
   shared method.

#### 2.4.3

 * Added “view_site_health_checks” as a grantable capability on the Roles & Capabilities
   tab. WordPress core only shows the “Site Health Status” dashboard widget to users
   with this capability (normally just Administrators, since core grants it automatically
   to whoever has install_plugins) — it was previously impossible to give any other
   role this capability through the plugin, since it isn’t stored on any role by
   default and so never appeared as a checkbox.

#### 2.4.2

 * Moved the “Force edit Administrator capabilities” checkbox off the Roles & Capabilities
   tab and into a new dedicated Settings tab. The Roles & Capabilities tab itself
   now only shows a plain grey/locked state for the Administrator role (with a link
   to the Settings tab), instead of an inline unlock form mixed in with the capability
   grid.

#### 2.4.1

 * The role selected in any tab’s “Select Role” dropdown (Plugins, Admin Menu, Dashboard,
   Profile Fields, Admin Bar, Roles & Capabilities) now carries over when switching
   tabs, instead of each tab resetting to its own default role. Makes editing several
   tabs for the same role much faster.

#### 2.4.0

 * Administrator capabilities are now locked (greyed out) by default on the Roles&
   Capabilities tab, replacing the previous approach of individually protecting 
   a short list of capabilities. A new “Force edit Administrator capabilities” setting,
   unchecked by default, unlocks the entire grid for editing when you explicitly
   opt in — this removes the whole class of accidental-self-lockout risk rather 
   than trying to enumerate every capability that could cause it.

#### 2.3.11

 * Deep review of the Roles & Capabilities tab found and fixed three issues:
    - A serious gap: nothing stopped `manage_options` from being unchecked for the
      Administrator role itself, which could lock every administrator (including
      the person doing it) out of Settings, Plugins, and this plugin’s own screen.
      It’s now locked the same way `activate_plugins`/`manage_network` already were,
      both in the UI and enforced server-side.
    - Creating a role with a slug that already exists silently did nothing while
      still showing “Role created successfully!” — it now shows a clear error instead.
    - Several real capabilities (`edit_plugins`, `delete_plugins`, `edit_themes`,`
      edit_theme_options`, etc.) were miscategorized under “Posts & Pages” instead
      of “Plugins”/”Appearance”, because the generic `edit_`/`delete_` prefix patterns
      were checked before the more specific ones.

#### 2.3.10

 * Fixed the Plugins tab never exempting the Administrator role from its own hide
   list (present since the very first release): every other tab (Admin Menu, Dashboard,
   Admin Bar, Profile Fields) skips filtering for Administrators, but the Plugins
   tab’s filter had no such check — an Administrator account could end up with plugins
   hidden from their own Plugins screen. Full state/polarity audit of every hide/
   show toggle, exemption check, and mutual-exclusion rule in the plugin found no
   other inversions.

#### 2.3.9

 * Restored the Delete Role feature, which was unreachable since the very first 
   release: the confirmation dialog and server handler existed, but no button ever
   opened the dialog. The Roles & Capabilities tab now shows a “Delete This Role”
   button when a non-default role is selected (default WordPress roles cannot be
   deleted, and roles with assigned users are still protected server-side).
 * Added the missing security nonce to the Dashboard tab’s “Rescan All Widgets” 
   button.
 * Fixed a duplicate HTML element ID: the Roles tab rendered a second, non-functional“
   Loading…” element with the same ID as the page’s main loading indicator.

#### 2.3.8

 * Fixed the “After Logout Redirect To” setting never applying: WordPress fires 
   the logout hook after it has already cleared the current user, so the plugin 
   always saw a role-less visitor and did nothing. The logged-out user is now looked
   up from the user ID the hook provides.
 * Fixed “Custom URL” login/logout redirects pointing to another domain being silently
   ignored: WordPress validates redirects against an allowed-hosts list that only
   contains this site by default, so external URLs fell back to wp-admin. Hosts 
   from configured custom redirect URLs are now added to that list.
 * Replaced the last remaining inline JavaScript event handlers (the Users tab’s
   select-all checkbox and the Profile Fields tab’s Hidden/Read-Only mutual exclusion)
   with handlers in the plugin’s script file, consistent with the rest of the plugin.
 * Added accessible labels to the “select all” checkboxes for screen readers.

#### 2.3.7

 * Changed the “who is exempt from restrictions” rule on the Admin Menu, Dashboard,
   Admin Bar, and Profile Fields tabs back to checking the literal Administrator
   role, instead of the manage_options capability. Under the capability-based check,
   any role granted manage_options (even by accident, from the Roles tab) became
   fully exempt from every restriction this plugin applies — which is confusing 
   and easy to trigger unintentionally. A role is now only exempt if it’s actually
   named “administrator”.

#### 2.3.6

 * The “read” capability (required just to open wp-admin at all, for any role) is
   now locked/always-checked in the Roles & Capabilities list, with a lock icon 
   and tooltip explaining why, instead of being an easy-to-lose checkbox buried 
   alphabetically inside the “Other” group. This is also enforced server-side on
   save as a safety net, so this capability can no longer be accidentally stripped
   from a role.

#### 2.3.5

 * Fixed a real bug on the Roles & Capabilities tab that could strip capabilities
   from a role every time you clicked Save Changes, even ones you didn’t touch: 
   saving worked by removing every known capability and re-adding only the ones 
   submitted, but legacy `level_0`–`level_10` capabilities (and Administrator’s 
   locked/disabled `activate_plugins`/`manage_network` checkboxes) were never part
   of the submitted set, so they were silently and permanently removed on every 
   save. Also switched the capability list to submit as a single consolidated field
   instead of one native field per checkbox, since a role/site with many capabilities(
   multiple custom post types, WooCommerce, Yoast, etc.) could exceed PHP’s `max_input_vars`
   limit and have capabilities silently dropped by PHP itself.
 * Added a warning icon next to `manage_options` in the capability list for non-
   Administrator roles: granting it exempts that role from every restriction this
   plugin applies elsewhere (Admin Menu, Dashboard, Admin Bar, Profile Fields), 
   the same as an Administrator.

#### 2.3.4

 * Temporary diagnostic build: adds a debug line to the Admin Menu and Dashboard
   tabs showing the raw saved hidden-items option for the selected role, to help
   track down a reported hide/show enforcement issue. To be removed once the issue
   is confirmed fixed.

#### 2.3.3

 * Fixed the Dashboard tab’s Callback column (and Widget ID) being unreadable: both
   hold long, unbroken strings like “My_Class::render_widget” that don’t naturally
   wrap, so in the table’s fixed layout they overflowed their cell instead of shrinking.
   The Widget Title and Context columns are narrower now, freeing space for a wider
   Callback column, and long values in both columns wrap instead of overflowing.

#### 2.3.2

 * Rebuilt the hide/show toggle switch on WordPress core’s own toggle component (
   the same markup/stylesheet core uses for things like the plugin list’s auto-update
   toggle) instead of a hand-rolled switch, so it renders at core’s compact, centered
   size everywhere rather than risking a specificity conflict with core’s checkbox
   styling. Colors and thumb position are customized so Visible (default) still 
   shows green on the right and Hidden shows red on the left.

#### 2.3.1

 * Fixed the new hide/show toggle switches rendering oversized and with the native
   checkbox square showing through: WordPress core’s checkbox styling (border, background,
   forced width/height, larger still on mobile) has the same CSS specificity as 
   a plain override and could win the cascade depending on stylesheet order. The
   switch’s checkbox is now fully reset with a guaranteed-specificity selector so
   only the intended switch renders, at its correct compact size.

#### 2.3.0

 * Replaced the bare hide/show checkboxes on the Plugins, Admin Menu, Dashboard,
   and Admin Bar tabs with a labeled toggle switch showing “Visible” or “Hidden”
   directly on the row, so the current state is clear at a glance instead of relying
   on remembering which way the checkbox goes.

#### 2.2.3

 * Fixed uneven left/right spacing around the plugin’s content: WordPress core’s.
   wrap class sets an asymmetric default margin (2px on the left, 20px on the right),
   which made the cards look off-center. The page wrapper now overrides this with
   equal margins on both sides.

#### 2.2.2

 * Fixed the Users tab’s “New Role” dropdown visually overflowing outside its card:
   the table uses a fixed layout, and a with no width constraint sizes to fit its
   longest option (long role names), which could render wider than its column and
   spill past the card’s edge. Form controls inside the plugin’s tables are now 
   capped to their cell’s width.

#### 2.2.1

 * The “Select Role” dropdown on every tab now defaults to the current logged-in
   user’s own role (Administrator, for most people configuring the plugin) instead
   of inconsistent hardcoded defaults — previously Admin Menu/Dashboard defaulted
   to Administrator, Admin Bar/Profile Fields defaulted to Subscriber, and Roles/
   Plugins defaulted to whichever role happened to be registered first.

#### 2.2.0

 * Fixed an inconsistency found in a deep code review: Dashboard widgets, Admin 
   Bar items, and Profile field restrictions still checked the literal “administrator”
   role (like Admin Menu used to) instead of the manage_options capability, so a
   Super Admin holding a lesser role on a specific site could be incorrectly restricted
   there. All restriction/enforcement checks across every tab are now consistent.
 * Fixed real bugs in the Admin Bar’s Branding & Logo checklist: “WordPress Logo–
   About WordPress” targeted a node ID that doesn’t exist in WordPress core (checking
   it had no effect), the actual WordPress.org and Learn WordPress links were missing
   from the list entirely, and “Edit My Profile” targeted a node that also doesn’t
   exist as a separate, removable item (it’s inline text inside the “User Info” 
   item, and is now hidden together with it).

#### 2.1.6

 * Fixed the Users tab’s Search Users box looking like a nested box-within-a-box:
   it was placed inside .erm-card, which already has its own border/background, 
   creating a double-boxed appearance. It’s now a standalone box above the card,
   styled and positioned the same way as the “Select Role” selector on the Plugins/
   Admin Menu/Dashboard/Admin Bar tabs.
 * Removed the now-unused .search-form/.search-box CSS rules.

#### 2.1.5

 * Fixed “Rescan All Widgets” stranding the user on the real WordPress Dashboard
   after scanning; it now redirects back to Settings > Advanced Role Manager > Dashboard
   automatically, with a confirmation message.
 * Fixed the Users tab’s Search Users box sitting outside the same card as the rest
   of the tab’s content; it’s now inside the same .erm-card as everything else.
 * Fixed save/error notices appearing below the tab navigation instead of above 
   it: WordPress core automatically repositions notices to the .wp-header-end marker,
   which was placed after the tabs instead of right after the page title. Moved 
   it to the correct place, immediately after the title.

#### 2.1.4

 * Fixed checkboxes appearing flush against the left edge on the Admin Bar, Profile
   Fields, Dashboard, Plugins, and Users tables. Only the Admin Menu table had the
   custom cell padding that gives checkboxes proper spacing; that rule now applies
   to every table in the plugin.

#### 2.1.3

 * Fixed Users, Plugins, and Admin Menu tab descriptions not being wrapped in the
   same content card as the other five tabs — they’re now inside .erm-card, matching
   Dashboard/Profile Fields/Admin Bar/Login & Logout/Roles & Capabilities exactly.
 * Fixed checkbox column misalignment across tables: the Users tab had its header/
   body checkbox cells reversed ( in the header, in the body — the wrong way around),
   and the Users/Plugins tabs were missing the explicit width used by the other 
   tables.
 * Save/create/delete confirmation messages (e.g. “Capabilities saved successfully!”)
   now actually display after a normal (non-AJAX) redirect — they were only ever
   shown when switching tabs via AJAX.

#### 2.1.2

 * Fixed a fatal error (“Call to undefined function populate_roles()”) when clicking“
   Repopulate Default WordPress Roles.” populate_roles() lives in wp-admin/includes/
   schema.php, which isn’t loaded during a normal admin-post.php request; that file
   is now required first.

#### 2.1.1

 * Added a self-service “Repopulate Default WordPress Roles” safety net on the Roles&
   Capabilities tab: if a site has no roles at all (can happen on sites that weren’t
   fully initialized), a notice with a one-click button now offers to safely add
   the missing default roles via populate_roles(), without touching any custom roles
   or existing capabilities.

#### 2.1.0

 * Fixed a multisite capability mismatch: every action and the admin menu itself
   required manage_network_options (Super Admin only), even though all settings 
   are stored per-site. Ordinary site administrators can now use the plugin on their
   own site as expected.
 * Fixed the Users tab listing every user in the network instead of just the current
   site’s members, which made unrelated users show “no role.”
 * Removed the broken Network Admin menu registration (it tried to attach to a Settings
   page that doesn’t exist in Network Admin).
 * Fixed the admin-menu restriction exemption to check actual manage_options capability
   instead of the literal “administrator” role, so a Super Admin holding a lesser
   role on a given site is never accidentally locked out.

#### 2.0.4

 * Removed all domclic.fr links (Plugin URI, Author URI, Donate link, and the two
   support-section mentions) from the plugin header and readme.

#### 2.0.3

 * Added an explanatory description to the Roles & Capabilities, Users, Plugins,
   and Admin Menu tabs, matching the ones already present on Dashboard, Profile 
   Fields, Admin Bar, and Login & Logout. (Note: version 2.0.2 was skipped — an 
   earlier attempt at this had placement issues and was reverted; this release redoes
   it correctly, with no other changes.)

#### 2.0.1

 * Moved the admin page from a top-level menu (“Roles & Menus”) into Settings > 
   Advanced Role Manager, in every language. The menu name itself is kept as “Advanced
   Role Manager” untranslated across all locales.

#### 2.0.0

 * Renamed the plugin to EffortLess Advanced Role Manager (slug: effortless-advanced-
   role-manager).
 * Removed the redundant load_plugin_textdomain() call (discouraged since WP 4.6).
 * uninstall.php now cleans up options on every site in a multisite network, not
   just the active one.
 * Role deletion is now blocked while any user is still assigned to that role.
 * Admin Menu restrictions are now enforced at the request level (direct URLs return
   a 403) and at the REST API level for restricted post types, not just hidden from
   navigation.
 * Moved profile-field CSS/JS from inline output to properly enqueued assets, and
   fixed a latent value-escaping issue in the hidden-field-preservation script.
 * Added French (fr_FR), Spanish (es_ES), and Chinese Taiwan (zh_TW) translations.

#### 1.0.0 – 2024-12-02

**Initial Public Release**

 * Feature: Roles & Capabilities management
 * Feature: Create, edit, and delete custom roles
 * Feature: Group capabilities by category (Posts, Media, Plugins, etc.)
 * Feature: User role assignment with bulk actions
 * Feature: Search and filter users
 * Feature: Plugin visibility control per role
 * Feature: Admin menu management with auto-detection
 * Feature: Dashboard widgets control with auto-scanning
 * Feature: Profile fields restrictions (hide/read-only)
 * Feature: Admin bar item customization
 * Feature: Performance caching system
 * Feature: WordPress Multisite support
 * Feature: WooCommerce integration
 * Feature: Yoast SEO integration
 * Feature: AJAX-powered interface
 * Security: Nonce verification on all forms
 * Security: Capability checks throughout
 * Security: Input sanitization and output escaping
 * Security: Server-side validation
 * Performance: Smart caching system
 * Performance: Optimized database queries
 * Performance: Lazy loading of resources
 * Compatibility: Tested with WordPress 6.4
 * Compatibility: Tested with PHP 7.4 – 8.2
 * Compatibility: Works with Gutenberg
 * Compatibility: Works with Classic Editor
 * Documentation: Complete user guide
 * Documentation: Developer guide with code examples
 * Accessibility: WCAG 2.1 AA compliant interface

## Meta

 *  Version **2.4.7**
 *  Last updated **16 hours ago**
 *  Active installations **Fewer than 10**
 *  WordPress version ** 6.0 or higher **
 *  Tested up to **7.0.1**
 *  PHP version ** 7.4 or higher **
 * Tags
 * [admin menu](https://wordpress.org/plugins/tags/admin-menu/)[capabilities](https://wordpress.org/plugins/tags/capabilities/)
   [permissions](https://wordpress.org/plugins/tags/permissions/)[roles](https://wordpress.org/plugins/tags/roles/)
   [user management](https://wordpress.org/plugins/tags/user-management/)
 *  [Advanced View](https://wordpress.org/plugins/effortless-advanced-role-manager/advanced/)

## Ratings

No reviews have been submitted yet.

[Your review](https://wordpress.org/support/plugin/effortless-advanced-role-manager/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/effortless-advanced-role-manager/reviews/)

## Contributors

 *   [ domclic ](https://profiles.wordpress.org/domclic/)

## Support

Got something to say? Need help?

 [View support forum](https://wordpress.org/support/plugin/effortless-advanced-role-manager/)

## Donate

Would you like to support the advancement of this plugin?

 [ Donate to this plugin ](https://id7.dev/donate/)