{"id":330368,"date":"2026-07-10T16:51:46","date_gmt":"2026-07-10T16:51:46","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/dominorole-user-role-permission-manager\/"},"modified":"2026-07-21T18:30:34","modified_gmt":"2026-07-21T18:30:34","slug":"dominorole-user-role-permission-manager","status":"publish","type":"plugin","link":"https:\/\/id.wordpress.org\/plugins\/dominorole-user-role-permission-manager\/","author":23328224,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"2.0.1","stable_tag":"2.0.1","tested":"7.0.4","requires":"5.0","requires_php":"7.4","requires_plugins":null,"header_name":"DominoRole - User Role Permission Manager","header_author":"DominoPress","header_description":"A simple and lightweight user role and permission manager for WordPress. View existing roles and add new custom roles easily.","assets_banners_color":"fbfcfe","last_updated":"2026-07-21 18:30:34","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/dominopress.com\/plugin\/dominorole-user-role-permission-manager","header_author_uri":"https:\/\/dominopress.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":204,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.0":{"tag":"1.0.0","author":"dominopress","date":"2026-07-10 16:51:13"},"2.0.0":{"tag":"2.0.0","author":"dominopress","date":"2026-07-18 19:33:06"},"2.0.1":{"tag":"2.0.1","author":"dominopress","date":"2026-07-21 18:30:34"}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-256x256.png":{"filename":"icon-256x256.png","revision":3612949,"resolution":"256x256","location":"assets","locale":"","width":1051,"height":1051}},"assets_banners":{"banner-772x250.png":{"filename":"banner-772x250.png","revision":3612949,"resolution":"772x250","location":"assets","locale":"","width":2205,"height":713}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","2.0.0","2.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3617609,"resolution":"1","location":"assets","locale":"","width":1700,"height":843},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3617609,"resolution":"2","location":"assets","locale":"","width":1623,"height":846},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3617609,"resolution":"3","location":"assets","locale":"","width":1656,"height":850},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3617609,"resolution":"4","location":"assets","locale":"","width":1725,"height":1334},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3617609,"resolution":"5","location":"assets","locale":"","width":1663,"height":1468}},"screenshots":[]},"plugin_section":[],"plugin_tags":[149336,895,28181,2461,1925],"plugin_category":[54],"plugin_contributors":[246053],"plugin_business_model":[],"class_list":["post-330368","plugin","type-plugin","status-publish","hentry","plugin_tags-custom-roles","plugin_tags-permissions","plugin_tags-role-manager","plugin_tags-user-management","plugin_tags-user-role","plugin_category-security-and-spam-protection","plugin_contributors-dominopress","plugin_committers-dominopress"],"banners":{"banner":"https:\/\/ps.w.org\/dominorole-user-role-permission-manager\/assets\/banner-772x250.png?rev=3612949","banner_2x":false,"banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/dominorole-user-role-permission-manager\/assets\/icon-256x256.png?rev=3612949","icon_2x":"https:\/\/ps.w.org\/dominorole-user-role-permission-manager\/assets\/icon-256x256.png?rev=3612949","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/dominorole-user-role-permission-manager\/assets\/screenshot-1.png?rev=3617609","caption":""},{"src":"https:\/\/ps.w.org\/dominorole-user-role-permission-manager\/assets\/screenshot-2.png?rev=3617609","caption":""},{"src":"https:\/\/ps.w.org\/dominorole-user-role-permission-manager\/assets\/screenshot-3.png?rev=3617609","caption":""},{"src":"https:\/\/ps.w.org\/dominorole-user-role-permission-manager\/assets\/screenshot-4.png?rev=3617609","caption":""},{"src":"https:\/\/ps.w.org\/dominorole-user-role-permission-manager\/assets\/screenshot-5.png?rev=3617609","caption":""}],"raw_content":"<!--section=description-->\n<p>DominoRole is the most comprehensive and modern WordPress plugin for managing user roles, capabilities, users, and admin menu visibility \u2014 all from a single lightning-fast dashboard. Built with React and Chakra UI, it provides a seamless, interactive, and visually stunning admin experience.<\/p>\n\n<p>Whether you're running a simple blog, a complex WooCommerce store, or an extensive membership site, DominoRole gives you absolute granular control over what your users can and cannot do. Stop relying on outdated interfaces and embrace the future of WordPress user management.<\/p>\n\n<h3>Features &amp; How They Help You<\/h3>\n\n<h3>\ud83d\udee1\ufe0f Advanced Role Manager<\/h3>\n\n<p>The core of DominoRole is its robust Role Manager, designed to give you full control over your site's hierarchy without the fear of breaking default configurations.\n* <strong>Clean &amp; Responsive Dashboard:<\/strong> View all user roles with capability counts in a clean, two-column grid layout. Default WordPress roles (like Administrator and Editor) are safely separated from custom roles.\n* <strong>Create Custom Roles:<\/strong> Build new roles from scratch. <em>Example: Create a \"Community Manager\" role specifically for someone who only needs to moderate comments and manage users, keeping them out of your site's sensitive settings.<\/em>\n* <strong>Clone Existing Roles:<\/strong> Easily duplicate any existing role with all its capabilities intact. <em>Why it helps: If you need a role almost identical to an Editor but with slightly fewer permissions, simply clone the Editor role and remove the specific capabilities.<\/em>\n* <strong>Role Renaming:<\/strong> Rename any non-protected custom role on the fly.\n* <strong>Reset Roles:<\/strong> Instantly reset a role to its default state (removes all capabilities except <code>read<\/code>).\n* <strong>Import &amp; Export Roles:<\/strong> Easily migrate your perfectly configured roles between a staging site and a production site via JSON files.<\/p>\n\n<h3>\ud83d\udd10 Powerful Permission Manager<\/h3>\n\n<p>Managing what a user can actually do shouldn't be a guessing game. Our Permission Manager is built for clarity and speed.\n* <strong>Multi-Tabbed Interface:<\/strong> Easily manage capabilities with organized tabs.\n    * <strong>Most Used Permissions:<\/strong> A curated list of top capabilities (read, edit posts, upload files, etc.) with detailed tooltips explaining their exact functions.\n    * <strong>Admin Menu Permissions:<\/strong> Manage capabilities tied directly to core WordPress admin menu areas.\n    * <strong>All Permissions:<\/strong> A comprehensive view with bulk action checkboxes and live search filters.\n    * <strong>Active Permissions:<\/strong> A quick review tab showing only the active permissions for the role, with interactive toggle-to-revoke buttons.\n* <strong>Grouped Capabilities:<\/strong> View all capabilities intelligently grouped by category (Posts, Pages, Media, Users, WooCommerce, Plugins, etc.). <em>Why it helps: Instead of scrolling through hundreds of alphabetical capabilities, you can instantly find all WooCommerce-related permissions in one block.<\/em><\/p>\n\n<h3>\ud83e\udded Dynamic Menu Access Viewer<\/h3>\n\n<p><em>Ever enabled a capability and wondered what it actually unlocked in the sidebar?<\/em>\n* <strong>See What You Unlock:<\/strong> Every permission row in the Permission Manager includes a unique \"Menu Access\" button.\n* <strong>Visual Confirmation:<\/strong> Clicking this button opens a modal displaying exactly which WordPress admin menus and submenus will become accessible when that capability is enabled.\n* <strong>Clear Table Layout:<\/strong> Menus are displayed in a clean two-column table (Main Menu and Sub Menu). <em>Why it helps: It completely removes the guesswork from permission assignment. You'll know exactly what your users will see before you even save.<\/em><\/p>\n\n<p>\ud83d\udd25 <strong>Ready to unlock the full potential of your WordPress site?<\/strong> <a href=\"https:\/\/dominopress.com\/plugin\/dominorole-user-role-permission-manager\">Upgrade to DominoRole Pro<\/a> today for advanced migration tools, unlimited custom roles, role cloning, and premium support! \ud83d\udd25<\/p>\n\n<h3>\ud83d\udc65 Comprehensive User Manager<\/h3>\n\n<p>Managing individual users is just as important as managing their roles.\n* <strong>Intuitive User Grid:<\/strong> View all users with advanced search, role filters, and lightning-fast pagination.\n* <strong>Instant Role Assignment:<\/strong> Change a user's primary role with a single click.\n* <strong>Multiple Roles:<\/strong> Assign multiple different roles to a single user simultaneously. <em>Example: A user can be both an \"Author\" and a \"Shop Manager\" at the same time, inheriting the combined capabilities of both roles.<\/em>\n* <strong>Temporary Roles:<\/strong> Set a temporary role with an automatic expiry date and time. <em>When it helps: If you hire a freelance developer to fix your site, give them a Temporary Administrator role set to expire in 48 hours. Once expired, their access is revoked automatically\u2014no manual cleanup required.<\/em><\/p>\n\n<h3>\u23f1\ufe0f Temporary Permissions<\/h3>\n\n<p>Sometimes changing a whole role is too broad; you just need to grant one specific ability temporarily.\n* <strong>Granular Time-Limited Access:<\/strong> Grant individual capabilities to specific users for a limited time.\n* <strong>Precision Expiry:<\/strong> Set exact expiry dates and times using a built-in datetime picker.\n* <strong>Status Tracking:<\/strong> View all temporary permissions with real-time status indicators (Active, Expired, Revoked).\n* <em>Example Use Case:<\/em> An author needs to publish their own post (a capability usually reserved for Editors) just for today. You can grant them the <code>publish_posts<\/code> permission temporarily for 24 hours.<\/p>\n\n<h3>\ud83e\udde0 Smart Capability Detector<\/h3>\n\n<p>WordPress plugins often add hidden capabilities that go unnoticed by site admins.\n* <strong>Auto-Discovery:<\/strong> Automatically detects brand new capabilities when third-party plugins are installed or activated on your site.\n* <strong>Plugin Attribution:<\/strong> Shows exactly which plugin registered the new capabilities.\n* <strong>Admin Notifications:<\/strong> Displays a gentle admin notice when new capabilities are detected, keeping you informed of security changes.\n* <em>Why it helps:<\/em> If a newly installed gallery plugin adds a <code>manage_galleries<\/code> capability, DominoRole will detect it instantly, allowing you to assign it to your custom roles right away.<\/p>\n\n<h3>\ud83d\ude80 One-Click Permission Presets<\/h3>\n\n<p>Don't want to build roles from scratch?\n* <strong>Instant Setup:<\/strong> Create perfectly configured roles with a single click using predefined templates:\n    * <strong>Content Writer<\/strong> (Can write but not publish)\n    * <strong>Editor<\/strong> (Full content control)\n    * <strong>SEO Manager<\/strong> (Access to SEO tools)\n    * <strong>Support Agent<\/strong> (Customer management)\n    * <strong>Shop Manager<\/strong> (WooCommerce control)\n    * <strong>Teacher<\/strong> (LMS management)\n    * <strong>Accountant<\/strong> (Financial reporting access)\n* <em>Why it helps:<\/em> Saves you hours of researching which specific capabilities correspond to common real-world jobs.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the plugin files to the <code>\/wp-content\/plugins\/dominorole-user-role-permission-manager<\/code> directory, or install the plugin through the WordPress plugins screen directly.<\/li>\n<li>Activate the plugin through the 'Plugins' screen in WordPress.<\/li>\n<li>Navigate to \"DominoRole\" in your WordPress admin menu to access the interactive React dashboard.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"how%20do%20i%20add%20a%20new%20role%3F\"><h3>How do I add a new role?<\/h3><\/dt>\n<dd><p>Navigate to the \"Role Manager\" page and click the \"Create Role\" button. Provide a unique lowercase Role ID (e.g., <code>community_manager<\/code>) and a Display Name (e.g., <code>Community Manager<\/code>).<\/p><\/dd>\n<dt id=\"can%20i%20delete%20default%20wordpress%20roles%3F\"><h3>Can I delete default WordPress roles?<\/h3><\/dt>\n<dd><p>No. For security and stability reasons, DominoRole strictly protects the default WordPress roles (Administrator, Editor, Author, Contributor, Subscriber) from being modified, reset, deleted, or cloned. This ensures your WordPress system remains stable.<\/p><\/dd>\n<dt id=\"how%20do%20temporary%20roles%20work%3F\"><h3>How do temporary roles work?<\/h3><\/dt>\n<dd><p>Go to the \"User Manager\" page, click the \"Temp\" button on any user, select a role, and choose an expiry date\/time. The user's original roles are safely stored and automatically restored the moment the temporary role expires.<\/p><\/dd>\n<dt id=\"how%20do%20temporary%20permissions%20work%3F\"><h3>How do temporary permissions work?<\/h3><\/dt>\n<dd><p>Go to the \"Temporary Permissions\" page, select a user, choose a specific capability, and set an expiry date. The capability is dynamically granted at runtime and automatically removed after expiry, completely without modifying the user's permanent role.<\/p><\/dd>\n<dt id=\"does%20the%20smart%20detector%20work%20with%20any%20plugin%3F\"><h3>Does the Smart Detector work with any plugin?<\/h3><\/dt>\n<dd><p>Yes! When any new plugin is activated, DominoRole scans and detects new capabilities added by that plugin. It will show a notification so you can review and acknowledge the newly introduced capabilities.<\/p><\/dd>\n<dt id=\"can%20i%20export%20and%20import%20roles%3F\"><h3>Can I export and import roles?<\/h3><\/dt>\n<dd><p>Absolutely. Go to the \"Import \/ Export\" submenu under DominoRole. You can easily migrate your role setups by exporting to a JSON file and importing it on another WordPress site.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>2.0.1<\/h4>\n\n<ul>\n<li><strong>Fix:<\/strong> Fixed REST API permission check in Smart Detector \u2014 typo in capability slug (<code>dominole_manage<\/code> \u2192 <code>dominorole_manage<\/code>) was causing \"Sorry, you are not allowed to do that.\" error.<\/li>\n<li><strong>Enhancement:<\/strong> Replaced Pro feature tooltips with an interactive Pro Lock modal across Roles and Users pages.<\/li>\n<li><strong>Enhancement:<\/strong> Pro Lock modal includes feature list and direct upgrade link, improving conversion from free to pro.<\/li>\n<\/ul>\n\n<h4>2.0.0<\/h4>\n\n<ul>\n<li>Complete rebuild with a lightning-fast React + Chakra UI dashboard.<\/li>\n<li>Responsive two-column grid layout on Roles Management page.<\/li>\n<li>Fully protected default WordPress roles (administrator, editor, author, contributor, subscriber) against modifications, resets, deletions, or clones.<\/li>\n<li>Improved Permission Manager modal with four tabs: All Permissions, Admin Menu Permissions, Most Used Permissions, and Active Permissions.<\/li>\n<li>Added dynamic <strong>Menu Access<\/strong> viewer inside the Permission Manager modal.<\/li>\n<li>Live search input inside Permission modal and support for multi-select checkbox bulk operations.<\/li>\n<li>Detailed tooltips on the Most Used Permissions tab explaining each typical capability (read, edit posts, moderate comments, upload files, etc.).<\/li>\n<li>Dynamic revoked state feedback on the Active Permissions list.<\/li>\n<li>Added Role Manager with create, clone, rename, delete, reset, import\/export.<\/li>\n<li>Added User Manager with role change, multiple roles, bulk change, and temporary roles.<\/li>\n<li>Added Permission Presets with 8 one-click role templates.<\/li>\n<li>Added Temporary Permissions with precision auto-expiry capability granting.<\/li>\n<li>Added Smart Capability Detector for auto-detecting new third-party plugin capabilities.<\/li>\n<li>Advanced REST API backend with strict nonce-secured endpoints.<\/li>\n<li>Database version comparison for seamless updates.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial Release.<\/li>\n<\/ul>","raw_excerpt":"Complete WordPress role, permission, and user management system with smart detection, presets, temporary permissions, and menu visibility control.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/330368","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=330368"}],"author":[{"embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/dominopress"}],"wp:attachment":[{"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=330368"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=330368"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=330368"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=330368"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=330368"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/id.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=330368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}