{"id":331146,"date":"2026-06-28T07:43:56","date_gmt":"2026-06-28T07:43:56","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/digages-role-manager\/"},"modified":"2026-09-12T05:48:32","modified_gmt":"2026-09-12T05:48:32","slug":"digages-role-manager","status":"publish","type":"plugin","link":"https:\/\/kk.wordpress.org\/plugins\/digages-role-manager\/","author":16031847,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.4","stable_tag":"trunk","tested":"7.0.5","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"Digages Role Manager","header_author":"Digages","header_description":"Advanced WordPress role manager: create custom roles, restrict admin menu pages, control CRUD and plugin-specific actions, and receive email alerts on unauthorized actions.","assets_banners_color":"d3e4f8","last_updated":"2026-09-12 05:48:32","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/digages.com\/role-manager","header_author_uri":"https:\/\/digages.com","rating":5,"author_block_rating":0,"active_installs":20,"downloads":538,"num_ratings":1,"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":"timleyi","date":"2026-07-10 08:11:18","revision":3602412},"1.0.1":{"tag":"1.0.1","author":"timleyi","date":"2026-07-27 17:47:21","revision":3624977},"1.0.2":{"tag":"1.0.2","author":"digages","date":"2026-07-29 23:50:51","revision":3627764},"1.0.3":{"tag":"1.0.3","author":"digages","date":"2026-09-12 05:48:32","revision":3692355}},"upgrade_notice":{"1.0.4":"<p>Role Templates now has its own submenu, and administrators can assign users while creating or editing a role.<\/p>","1.0.2":"<p>Upgrade to the latest version to create custom WordPress roles, restrict admin menu access, manage allowed actions, and receive email alerts when restricted actions are attempted.<\/p>"},"ratings":{"1":0,"2":0,"3":0,"4":0,"5":1},"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3588555,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3588555,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3588555,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-1880x609.png":{"filename":"banner-1880x609.png","revision":3588555,"resolution":"1880x609","location":"assets","locale":"","width":1880,"height":609},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3588555,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.0","1.0.1","1.0.2","1.0.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3588555,"resolution":"1","location":"assets","locale":"","width":2870,"height":1416},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3588555,"resolution":"2","location":"assets","locale":"","width":3360,"height":1472},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3588555,"resolution":"3","location":"assets","locale":"","width":3360,"height":1226},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3588555,"resolution":"4","location":"assets","locale":"","width":3360,"height":1226},"screenshot-5.png":{"filename":"screenshot-5.png","revision":3588555,"resolution":"5","location":"assets","locale":"","width":3360,"height":1618}},"screenshots":{"1":"<strong>Role Manager Dashboard<\/strong> - overview cards, quick actions, recent audit events, and active custom roles.","2":"<strong>Manage Roles<\/strong> - custom role table with edit, enable or disable, and delete actions.","3":"<strong>Create \/ Edit Role<\/strong> - configure role details, assign users with the searchable multiselect, choose admin menu access and allowed actions, and set login options.","4":"<strong>Audit Log<\/strong> - filterable list of role events and blocked access attempts.","5":"<strong>Role Templates<\/strong> - import optional roles for supported Digages plugins.","6":"<strong>Settings<\/strong> - alert email configuration, audit logging toggle, and log retention setting.","7":"<strong>Help Center<\/strong> - Role Manager guides, support links, and the Digages plugin catalog."}},"plugin_section":[],"plugin_tags":[245949,1913,895,28181,1915],"plugin_category":[54,58],"plugin_contributors":[233695,234502],"plugin_business_model":[],"class_list":["post-331146","plugin","type-plugin","status-publish","hentry","plugin_tags-admin-access","plugin_tags-capabilities","plugin_tags-permissions","plugin_tags-role-manager","plugin_tags-roles","plugin_category-security-and-spam-protection","plugin_category-user-management","plugin_contributors-digages","plugin_contributors-timleyi","plugin_committers-digages","plugin_committers-timleyi"],"banners":{"banner":"https:\/\/ps.w.org\/digages-role-manager\/assets\/banner-772x250.png?rev=3588555","banner_2x":"https:\/\/ps.w.org\/digages-role-manager\/assets\/banner-1544x500.png?rev=3588555","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/digages-role-manager\/assets\/icon-128x128.png?rev=3588555","icon_2x":"https:\/\/ps.w.org\/digages-role-manager\/assets\/icon-256x256.png?rev=3588555","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/digages-role-manager\/assets\/screenshot-1.png?rev=3588555","caption":"<strong>Role Manager Dashboard<\/strong> - overview cards, quick actions, recent audit events, and active custom roles."},{"src":"https:\/\/ps.w.org\/digages-role-manager\/assets\/screenshot-2.png?rev=3588555","caption":"<strong>Manage Roles<\/strong> - custom role table with edit, enable or disable, and delete actions."},{"src":"https:\/\/ps.w.org\/digages-role-manager\/assets\/screenshot-3.png?rev=3588555","caption":"<strong>Create \/ Edit Role<\/strong> - configure role details, assign users with the searchable multiselect, choose admin menu access and allowed actions, and set login options."},{"src":"https:\/\/ps.w.org\/digages-role-manager\/assets\/screenshot-4.png?rev=3588555","caption":"<strong>Audit Log<\/strong> - filterable list of role events and blocked access attempts."},{"src":"https:\/\/ps.w.org\/digages-role-manager\/assets\/screenshot-5.png?rev=3588555","caption":"<strong>Role Templates<\/strong> - import optional roles for supported Digages plugins."}],"raw_content":"<!--section=description-->\n<p><strong>Digages Role Manager<\/strong> is an advanced WordPress role and permission manager for site administrators who need tighter control over what users can see and do inside the dashboard.<\/p>\n\n<p>Create custom roles, inherit capabilities from existing WordPress roles, choose which admin menu pages each role can access, and define allowed actions for content, users, plugins, themes, imports, exports, and supported third-party plugins.<\/p>\n\n<h4>Key Features<\/h4>\n\n<p><strong>Custom Role Creation<\/strong>\nCreate custom WordPress roles from the admin dashboard. Each role can include a name, description, inherited base role, allowed admin menus, allowed actions, login redirect URL, and admin color scheme.<\/p>\n\n<p><strong>Admin Menu Restrictions<\/strong>\nChoose which dashboard menu pages a custom role may access. Restricted menu items are hidden from the WordPress admin area, and direct URL access to blocked pages is denied.<\/p>\n\n<p><strong>Action-Level Permissions<\/strong>\nControl common WordPress actions including creating, editing, deleting, and publishing posts or pages; uploading media; managing comments; managing users; installing, activating, updating, and deleting plugins; managing themes; and importing or exporting data.<\/p>\n\n<p><strong>WooCommerce-Aware Controls<\/strong>\nWhen WooCommerce is active, the plugin adds WooCommerce-specific action controls for orders, products, coupons, reports, settings, and order status changes.<\/p>\n\n<p><strong>Optional Digages Role Templates<\/strong>\nIn <strong>Role Manager &gt; Role Templates<\/strong>, import Direct Payments Manager, Invoice Manager or Engraver Packer. Each card lists its permissions and plugin availability. No roles are created automatically, and importing never overwrites an existing role.<\/p>\n\n<ul>\n<li><strong>Direct Payments Manager:<\/strong> View, confirm, cancel and update direct payments under WooCommerce &gt; Direct Payments. Cannot access the WooCommerce Orders screen, ordinary WooCommerce orders, payment settings or payment deletion.<\/li>\n<li><strong>Invoice Manager:<\/strong> View, create and send invoices, add recipients and generate invoice PDFs. Cannot edit existing invoices or recipients, delete invoices, manually change payment status or manage settings.<\/li>\n<li><strong>Engraver Packer:<\/strong> View engraving orders and engraving details only. Cannot mark orders done\/pending, manage templates or adjust prices.<\/li>\n<\/ul>\n\n<p>Free and Pro editions of Direct Payments for WooCommerce, Digages Direct Invoices and Digages Engraver are supported. Templates can be imported when a matching plugin is installed. Their plugin permissions become available while the plugin and its dependencies are active, pause on deactivation and return on reactivation. Disabling a role keeps its plugin permissions off. Edit an imported role in <strong>Manage Roles<\/strong> to change its menus, individual actions, and assigned users.<\/p>\n\n<p>The invoice integration uses <code>digages-direct-invoices<\/code> and <code>digages-direct-invoices-pro<\/code>; the older <code>direct-payments-wp<\/code> plugins contain payment forms rather than this invoice workflow. Pro-only functionality still requires the corresponding Pro plugin and license.<\/p>\n\n<p><strong>Third-Party Plugin Action Groups<\/strong>\nThe available action list can automatically include controls for supported plugins when they are active, including Easy Digital Downloads, Advanced Custom Fields, and Gravity Forms.<\/p>\n\n<p><strong>Unauthorized Action Alerts<\/strong>\nSet one or more alert email addresses to receive notifications when a restricted action or blocked admin page access attempt occurs.<\/p>\n\n<p><strong>Audit Log<\/strong>\nTrack role-related events and blocked access attempts with timestamp, user, action, context, and IP address. The audit log can be filtered and cleared from the admin screen.<\/p>\n\n<p><strong>Dashboard Overview<\/strong>\nView quick stats for custom roles, total WordPress roles, audit events, and total users. The dashboard also lists recent audit events and active custom roles.<\/p>\n\n<p><strong>Help Center<\/strong>\nThe Help Center uses the Direct Invoices admin design and bundled Digages plugin catalog, with Role Manager guides, support links, and plugin status cards.<\/p>\n\n<p><strong>Role Management Tools<\/strong>\nEdit, enable, disable, and delete custom roles from a dedicated role management table. Built-in WordPress roles are protected from deletion.<\/p>\n\n<p><strong>Role-Based Login Redirects<\/strong>\nSend users with a custom role to a specific URL after login.<\/p>\n\n<p><strong>Admin Color Scheme Assignment<\/strong>\nAssign a WordPress admin color scheme per custom role to make role-specific admin experiences easier to identify.<\/p>\n\n<p><strong>Developer Friendly<\/strong>\nThe available action groups can be extended with the <code>digages_rm_available_actions<\/code> filter. <a href=\"https:\/\/digages.com\/contact\/\">Contact Developers<\/a><\/p>\n\n<strong>What's Next?:<\/strong>\n\n<p>If you like this plugin, then consider checking out our other plugins:<\/p>\n\n<ul>\n<li><p><a href=\"https:\/\/wordpress.org\/plugins\/direct-payments-for-woocommerce\/\">Direct Payments for WooCommerce - Bank Transfer, Mobile Money, Crypto and Peer-to-Peer (P2P) Payments<\/a><\/p><\/li>\n<li><p><a href=\"https:\/\/wordpress.org\/plugins\/direct-payments-wp\/\">Direct Payments WP - Receive Payments with Forms<\/a><\/p><\/li>\n<li><p><a href=\"https:\/\/wordpress.org\/plugins\/digages-direct-invoices\/\">Direct Invoices - Invoicing &amp; Payment Requests for WordPress<\/a><\/p><\/li>\n<li><p><a href=\"https:\/\/wordpress.org\/plugins\/digages-engraver\/\">Engraver for WooCommerce - Personalize and Customize WooCommerce Products<\/a><\/p><\/li>\n<li><p><a href=\"https:\/\/wordpress.org\/plugins\/auto-pickup-locations-for-woocommerce\/\">APL \u2013 Auto-Pickup Locations for WooCommerce<\/a><\/p><\/li>\n<li><p><a href=\"https:\/\/wordpress.org\/plugins\/digages-role-manager\/\">Digages Role Manager - User Roles &amp; Permissions<\/a><\/p><\/li>\n<li><p><a href=\"https:\/\/wordpress.org\/plugins\/svg-editor\/\">SVG Editor: Upload &amp; Change Colors<\/a><\/p><\/li>\n<li><p><a href=\"https:\/\/wordpress.org\/plugins\/digages-website-monitor\/\">Digages Website Monitor<\/a><\/p><\/li>\n<li><p><a href=\"https:\/\/wordpress.org\/plugins\/digages-restock-alert\/\">Digages Restock Alert<\/a><\/p><\/li>\n<\/ul>\n\n<h3>Credits<\/h3>\n\n<p>Built by Digages.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>digages-role-manager<\/code> folder to the <code>\/wp-content\/plugins\/<\/code> directory, or install it through <strong>Plugins &gt; Add New &gt; Upload Plugin<\/strong>.<\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> screen in WordPress.<\/li>\n<li>Go to <strong>Role Manager<\/strong> in the WordPress admin menu.<\/li>\n<li>Visit <strong>Role Manager &gt; Settings<\/strong> to configure alert email addresses and audit log options.<\/li>\n<li>Visit <strong>Role Manager &gt; Create Role<\/strong> to create your first custom role.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20plugin%20replace%20wordpress%20roles%3F\"><h3>Does this plugin replace WordPress roles?<\/h3><\/dt>\n<dd><p>No. The plugin creates and manages WordPress roles using WordPress role and capability APIs. Built-in roles such as Administrator, Editor, Author, Contributor, and Subscriber are not deleted by the plugin.<\/p><\/dd>\n<dt id=\"can%20i%20create%20a%20role%20based%20on%20an%20existing%20role%3F\"><h3>Can I create a role based on an existing role?<\/h3><\/dt>\n<dd><p>Yes. When creating a new role, you can inherit capabilities from an existing WordPress role and then configure menu and action permissions for the new role.<\/p><\/dd>\n<dt id=\"can%20i%20hide%20admin%20menu%20pages%20for%20a%20role%3F\"><h3>Can I hide admin menu pages for a role?<\/h3><\/dt>\n<dd><p>Yes. Select the admin menu items the role should be allowed to access. Unselected items are hidden, and direct access attempts are denied and logged.<\/p><\/dd>\n<dt id=\"are%20administrators%20restricted%3F\"><h3>Are administrators restricted?<\/h3><\/dt>\n<dd><p>No. Administrator users are allowed through the plugin's restriction checks.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20require%20woocommerce%3F\"><h3>Does the plugin require WooCommerce?<\/h3><\/dt>\n<dd><p>No. WooCommerce is optional. If WooCommerce is active, additional WooCommerce action controls become available.<\/p><\/dd>\n<dt id=\"which%20third-party%20plugins%20are%20detected%3F\"><h3>Which third-party plugins are detected?<\/h3><\/dt>\n<dd><p>The plugin can add action groups for WooCommerce, Easy Digital Downloads, Advanced Custom Fields, and Gravity Forms when those plugins are active. Direct Payments, Direct Invoices and Engraver controls appear when a supported Free or Pro edition is installed. Their permissions are enforced on admin pages and backend actions, without granting general administrator or WooCommerce management access.<\/p><\/dd>\n<dt id=\"can%20i%20receive%20email%20alerts%20for%20blocked%20actions%3F\"><h3>Can I receive email alerts for blocked actions?<\/h3><\/dt>\n<dd><p>Yes. Add one or more comma-separated email addresses in <strong>Role Manager &gt; Settings<\/strong>. Alerts are sent using WordPress <code>wp_mail()<\/code>.<\/p><\/dd>\n<dt id=\"can%20i%20view%20blocked%20access%20attempts%3F\"><h3>Can I view blocked access attempts?<\/h3><\/dt>\n<dd><p>Yes. Go to <strong>Role Manager &gt; Audit Log<\/strong> to review logged actions, blocked access attempts, user details, context, timestamps, and IP addresses.<\/p><\/dd>\n<dt id=\"can%20i%20delete%20custom%20roles%3F\"><h3>Can I delete custom roles?<\/h3><\/dt>\n<dd><p>Yes. Custom roles created through the plugin can be deleted from <strong>Role Manager &gt; Manage Roles<\/strong>. Built-in WordPress roles are protected from deletion.<\/p><\/dd>\n<dt id=\"can%20developers%20add%20more%20action%20groups%3F\"><h3>Can developers add more action groups?<\/h3><\/dt>\n<dd><p>Yes. Developers can use the <code>digages_rm_available_actions<\/code> filter to add custom action groups and action keys.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.4<\/h4>\n\n<ul>\n<li>Moved optional role templates from Settings to a dedicated Role Templates submenu.<\/li>\n<li>Added searchable user assignment to the Create and Edit Role screen.<\/li>\n<li>Removed product abbreviations from Direct Payments and Direct Invoices labels.<\/li>\n<\/ul>\n\n<h4>1.0.3<\/h4>\n\n<ul>\n<li>Added the Direct Invoices header and Help Center components, styles, assets, and bundled plugin catalog to Role Manager.<\/li>\n<li>Added optional role templates in the Settings sidebar for Direct Payments Manager, Invoice Manager and Engraver Packer.<\/li>\n<li>Added Free\/Pro action permissions for Direct Payments, Direct Invoices and Engraver, with backend enforcement and dependency-aware capabilities.<\/li>\n<li>Fixed submenu visibility for staff without WooCommerce order access, exact page matching and blocked-page redirect loops.<\/li>\n<\/ul>\n\n<h4>1.0.2<\/h4>\n\n<ul>\n<li>Fixed: Custom roles with at least one admin menu or allowed action now automatically receive access to the WordPress admin area.<\/li>\n<\/ul>\n\n<h4>1.0.1<\/h4>\n\n<p>*Fixed: Minor bugs and performance improvements.<\/p>","raw_excerpt":"Create custom WordPress roles, restrict admin menu access, manage allowed actions, and receive email alerts when restricted actions are attempted.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/331146","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=331146"}],"author":[{"embeddable":true,"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/timleyi"}],"wp:attachment":[{"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=331146"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=331146"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=331146"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=331146"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=331146"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/kk.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=331146"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}