{"id":346042,"date":"2026-07-27T17:16:47","date_gmt":"2026-07-27T17:16:47","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/admin-focus\/"},"modified":"2026-07-27T17:16:33","modified_gmt":"2026-07-27T17:16:33","slug":"saa-admin-menu-controls","status":"publish","type":"plugin","link":"https:\/\/wordpress.org\/plugins\/saa-admin-menu-controls\/","author":23539007,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.1","stable_tag":"1.0.1","tested":"7.0.2","requires":"6.0","requires_php":"7.4","requires_plugins":null,"header_name":"SAA Admin Menu Controls","header_author":"SAA Digital","header_description":"Simplify the WordPress admin for clients by hiding menu items, admin bar nodes, and default dashboard widgets. Configure independent rules per role, add a friendly client dashboard, and preview safely.","assets_banners_color":"2d79da","last_updated":"2026-07-27 17:16:33","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wpplugins.saadigital.com\/saa-admin-menu-controls\/","header_author_uri":"https:\/\/saadigital.com","rating":0,"author_block_rating":0,"active_installs":0,"downloads":28,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0.1":{"tag":"1.0.1","author":"sdnet","date":"2026-07-27 17:16:33"}},"upgrade_notice":{"1.0.1":"<p>Patch release to fix CSS caching issues. Recommended for all users experiencing styling problems.<\/p>","1.0.0":"<p>Initial release of SAA Admin Menu Controls. Simplify the WordPress admin for clients with per-role rules, automatic menu detection, and a modern settings interface.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3624973,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3624973,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3624973,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3624973,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0.1"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3624965,"resolution":"1","location":"assets","locale":"","width":2600,"height":2000},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3624965,"resolution":"2","location":"assets","locale":"","width":2600,"height":3690},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3624965,"resolution":"3","location":"assets","locale":"","width":2600,"height":2000}},"screenshots":{"1":"The SAA Admin Menu Controls settings page showing the General, Target Roles, and Admin Menu sections.","2":"The Client Dashboard configuration with welcome message and quick links.","3":"The simplified client dashboard with the branded welcome widget and quick links."}},"plugin_section":[262246],"plugin_tags":[83,3720,466,434,3765],"plugin_category":[],"plugin_contributors":[273519],"plugin_business_model":[],"class_list":["post-346042","plugin","type-plugin","status-publish","hentry","plugin_section-dashboard-widgets","plugin_tags-admin","plugin_tags-admin-menu","plugin_tags-client","plugin_tags-dashboard","plugin_tags-white-label","plugin_contributors-sdnet","plugin_committers-sdnet"],"banners":{"banner":"https:\/\/ps.w.org\/saa-admin-menu-controls\/assets\/banner-772x250.png?rev=3624973","banner_2x":"https:\/\/ps.w.org\/saa-admin-menu-controls\/assets\/banner-1544x500.png?rev=3624973","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/saa-admin-menu-controls\/assets\/icon-128x128.png?rev=3624973","icon_2x":"https:\/\/ps.w.org\/saa-admin-menu-controls\/assets\/icon-256x256.png?rev=3624973","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/saa-admin-menu-controls\/assets\/screenshot-1.png?rev=3624965","caption":"The SAA Admin Menu Controls settings page showing the General, Target Roles, and Admin Menu sections."},{"src":"https:\/\/ps.w.org\/saa-admin-menu-controls\/assets\/screenshot-2.png?rev=3624965","caption":"The Client Dashboard configuration with welcome message and quick links."},{"src":"https:\/\/ps.w.org\/saa-admin-menu-controls\/assets\/screenshot-3.png?rev=3624965","caption":"The simplified client dashboard with the branded welcome widget and quick links."}],"raw_content":"<!--section=description-->\n<p>SAA Admin Menu Controls gives you complete per-role control over the WordPress admin menu. Decide exactly which links each role can see \u2014 hide the clutter or show only the essentials \u2014 including menus added by third-party plugins like Elementor and WooCommerce.<\/p>\n\n<p>Perfect for agencies and freelancers shipping sites to clients: each role gets a tailored admin menu while administrators keep the full toolkit.<\/p>\n\n<p><strong><a href=\"https:\/\/wpplugins.saadigital.com\/saa-admin-menu-controls\/\">Official Plugin Website<\/a><\/strong> | <strong><a href=\"https:\/\/wpplugins.saadigital.com\/saa-admin-menu-controls\/guide.html\">Documentation &amp; Setup Guide<\/a><\/strong><\/p>\n\n<p>Administrators are always protected: the plugin never applies its effects to administrators unless they deliberately enter Preview Mode to see exactly what a role sees. A built-in safe-mode bypass (<code>?saamc_safe=1<\/code>) guarantees you can never lock yourself out.<\/p>\n\n<p>Key features:<\/p>\n\n<ul>\n<li><strong>Per-role admin menu control<\/strong> \u2014 independent rules for each role (Editor, Author, Contributor, Subscriber, plus any custom roles).<\/li>\n<li><strong>Two menu modes<\/strong> \u2014 \"Hide selected\" (tick what to remove) or \"Show only selected\" (tick what to keep, hide everything else).<\/li>\n<li><strong>Automatic menu detection<\/strong> \u2014 every registered admin menu appears as a tickable choice, including third-party plugin menus.<\/li>\n<li><strong>Admin toolbar control<\/strong> \u2014 also hide admin bar nodes per role.<\/li>\n<li><strong>Optional client dashboard<\/strong> \u2014 replace default widgets with a welcome panel (title, message, quick links, help box).<\/li>\n<li><strong>Preview Mode<\/strong> \u2014 see the admin exactly as any role sees it, with a bright \"Exit Preview Mode\" button.<\/li>\n<li><strong>Lockout-proof<\/strong> \u2014 administrators are never affected unless previewing, and <code>?saamc_safe=1<\/code> instantly restores every menu.<\/li>\n<li>Modern tabbed settings screen, no external dependencies, no build step, translation ready.<\/li>\n<\/ul>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>saa-admin-menu-controls<\/code> folder to the <code>\/wp-content\/plugins\/<\/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>Go to <strong>Settings &gt; SAA Admin Menu Controls<\/strong> to configure the plugin.<\/li>\n<li>Select the target roles, choose a menu mode (Hide selected \/ Show only selected), and tick the admin menu links.<\/li>\n<li>Use Preview Mode to verify the menu as that role sees it, then Save.<\/li>\n<\/ol>\n\n<p>For a complete walkthrough, see the <strong><a href=\"https:\/\/wpplugins.saadigital.com\/saa-admin-menu-controls\/guide.html\">Setup Guide<\/a><\/strong>.<\/p>\n\n<!--section=faq-->\n<dl>\n<dt id=\"will%20this%20affect%20administrators%3F\"><h3>Will this affect administrators?<\/h3><\/dt>\n<dd><p>No. Administrators (users with the <code>manage_options<\/code> capability) are always protected and never have effects applied, unless they explicitly enable Preview Mode from the settings page.<\/p><\/dd>\n<dt id=\"i%20hid%20too%20much%20and%20cannot%20find%20the%20settings.%20what%20do%20i%20do%3F\"><h3>I hid too much and cannot find the settings. What do I do?<\/h3><\/dt>\n<dd><p>Add <code>?saamc_safe=1<\/code> to any admin URL (for example <code>\/wp-admin\/index.php?saamc_safe=1<\/code>). This instantly disables all effects for administrators and clears Preview Mode.<\/p><\/dd>\n<dt id=\"does%20hiding%20a%20menu%20item%20actually%20block%20access%3F\"><h3>Does hiding a menu item actually block access?<\/h3><\/dt>\n<dd><p>No. Hiding a menu item only removes it from the admin menu for the selected roles. It does not change WordPress capabilities. Use a dedicated role\/capability plugin if you need to restrict access itself.<\/p><\/dd>\n<dt id=\"can%20i%20hide%20menus%20added%20by%20other%20plugins%3F\"><h3>Can I hide menus added by other plugins?<\/h3><\/dt>\n<dd><p>Yes. The plugin detects every top-level admin menu currently registered \u2014 including menus added by plugins such as Elementor and WooCommerce \u2014 and lists them automatically as tickable choices, so you no longer have to type them by hand.<\/p>\n\n<p>If a menu is not listed (for example one that only appears in certain contexts), you can still add it via the \"Custom menu slugs\" textarea, one slug per line. Use the menu slug the plugin registered, not the URL: for example <code>elementor<\/code>, not <code>admin.php?page=elementor<\/code>. The plugin also accepts the full <code>admin.php?page=...<\/code> form and normalises it for you. Core custom post type menus use their full slug, for example <code>edit.php?post_type=product<\/code>.<\/p><\/dd>\n<dt id=\"what%20is%20the%20difference%20between%20%22hide%20selected%22%20and%20%22show%20only%20selected%22%3F\"><h3>What is the difference between \"Hide selected\" and \"Show only selected\"?<\/h3><\/dt>\n<dd><p>Each role's Admin Menu section has a mode switch. In \"Hide selected\" mode (the default) the items you tick are removed and everything else stays. In \"Show only selected\" mode the plugin keeps only the items you tick and removes everything else \u2014 ideal when a client should see just a couple of menus. The Dashboard is always kept in \"Show only\" mode so the client still has a home screen.<\/p><\/dd>\n<dt id=\"does%20the%20plugin%20store%20any%20personal%20data%3F\"><h3>Does the plugin store any personal data?<\/h3><\/dt>\n<dd><p>No. It stores a single settings option and a per-administrator preview flag in user meta. Both are removed when you uninstall the plugin.<\/p><\/dd>\n<dt id=\"is%20the%20plugin%20translation%20ready%3F\"><h3>Is the plugin translation ready?<\/h3><\/dt>\n<dd><p>Yes. All user-facing strings use the <code>saa-admin-menu-controls<\/code> text domain and a POT template is included in the <code>languages<\/code> folder.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.1<\/h4>\n\n<ul>\n<li>Patch: Force CSS cache refresh to ensure styling loads correctly after updates.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<li>Independent per-role configuration \u2014 each role has its own hidden menus, hidden toolbar items, and client dashboard.<\/li>\n<li>Automatic detection of all registered admin menus, including third-party plugin menus.<\/li>\n<li>Per-role \"Hide selected\" \/ \"Show only selected\" mode for admin menus.<\/li>\n<li>Modern settings screen with hero header, tabbed navigation, and per-role panels.<\/li>\n<li>Branded client dashboard widget with gradient header, quick links, and help box.<\/li>\n<li>Preview Mode to experience the admin as any configured role.<\/li>\n<li>Safe-mode bypass (<code>?saamc_safe=1<\/code>) for lockout protection.<\/li>\n<li>Translation ready.<\/li>\n<\/ul>","raw_excerpt":"Simplify the WordPress admin for clients by hiding menus, toolbar items, and default dashboard widgets for selected roles.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/346042","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=346042"}],"author":[{"embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/sdnet"}],"wp:attachment":[{"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=346042"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=346042"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=346042"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=346042"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=346042"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=346042"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}