{"id":338368,"date":"2026-07-14T12:58:17","date_gmt":"2026-07-14T12:58:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/featuregate\/"},"modified":"2026-07-14T14:20:33","modified_gmt":"2026-07-14T14:20:33","slug":"dashorgnicer-feature-manager","status":"publish","type":"plugin","link":"https:\/\/scn.wordpress.org\/plugins\/dashorgnicer-feature-manager\/","author":18035960,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.0.0","stable_tag":"1.0.0","tested":"7.0.1","requires":"6.4","requires_php":"7.4","requires_plugins":null,"header_name":"DashOrgNicer Feature Manager","header_author":"Anandhu Nadesh","header_description":"Disable or role-restrict WordPress admin features and menus.","assets_banners_color":"3e5460","last_updated":"2026-07-14 14:20:33","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"https:\/\/wordpress.org\/plugins\/dashorgnicer-feature-manager\/","header_author_uri":"https:\/\/profiles.wordpress.org\/anandhunadesh\/","rating":0,"author_block_rating":0,"active_installs":0,"downloads":32,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.0":{"tag":"1.0","author":"anandhunadesh","date":"2026-07-14 12:57:54"},"1.0.0":{"tag":"1.0.0","author":"anandhunadesh","date":"2026-07-14 14:20:33"}},"upgrade_notice":{"1.0.0":"<p>Initial release.<\/p>"},"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3607488,"resolution":"128x128","location":"assets","locale":"","width":1024,"height":1024},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3607488,"resolution":"256x256","location":"assets","locale":"","width":1024,"height":1024}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3607488,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3607488,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.0","1.0.0"],"block_files":[],"assets_screenshots":[],"screenshots":{"1":"DashOrgNicer Feature Manager Features settings page","2":"DashOrgNicer Feature Manager Post Types settings page","3":"DashOrgNicer Feature Manager Settings Screens page","4":"DashOrgNicer Feature Manager Plugin Pages page","5":"DashOrgNicer Feature Manager General settings page"}},"plugin_section":[],"plugin_tags":[83,1913,434,1865,1915],"plugin_category":[43,58],"plugin_contributors":[236265,237835],"plugin_business_model":[],"class_list":["post-338368","plugin","type-plugin","status-publish","hentry","plugin_tags-admin","plugin_tags-capabilities","plugin_tags-dashboard","plugin_tags-menu","plugin_tags-roles","plugin_category-customization","plugin_category-user-management","plugin_contributors-anandhunadesh","plugin_contributors-phaseswpdev","plugin_committers-anandhunadesh"],"banners":{"banner":"https:\/\/ps.w.org\/dashorgnicer-feature-manager\/assets\/banner-772x250.png?rev=3607488","banner_2x":"https:\/\/ps.w.org\/dashorgnicer-feature-manager\/assets\/banner-1544x500.png?rev=3607488","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/dashorgnicer-feature-manager\/assets\/icon-128x128.png?rev=3607488","icon_2x":"https:\/\/ps.w.org\/dashorgnicer-feature-manager\/assets\/icon-256x256.png?rev=3607488","generated":false},"screenshots":[],"raw_content":"<!--section=description-->\n<p>DashOrgNicer Feature Manager helps you clean up the WordPress admin by disabling or restricting features for specific user roles.<\/p>\n\n<ul>\n<li>Disable features your site does not need (for example, Posts on a brochure site)<\/li>\n<li>Restrict admin menus to specific roles<\/li>\n<li>Enforce access through menus, capabilities, direct URLs, and REST API<\/li>\n<li>Auto-discover custom post types, Settings sub-pages, and plugin admin pages<\/li>\n<li>Per-screen Settings access control, Plugin Pages control, and site-wide General toggles<\/li>\n<li>Reflect WordPress native role capabilities in the settings UI<\/li>\n<\/ul>\n\n<p>DashOrgNicer Feature Manager is intended for site owners, agencies, and teams who want tighter control over what appears in wp-admin for each role.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Upload the <code>dashorgnicer-feature-manager<\/code> folder to <code>\/wp-content\/plugins\/<\/code><\/li>\n<li>Activate the plugin through the <strong>Plugins<\/strong> menu in WordPress<\/li>\n<li>Go to <strong>DashOrgNicer Feature Manager<\/strong> in the admin menu to configure feature access<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"who%20can%20access%20dashorgnicer%20feature%20manager%20settings%3F\"><h3>Who can access DashOrgNicer Feature Manager settings?<\/h3><\/dt>\n<dd><p>Users with the <code>adftmgr_manage_settings<\/code> capability (Administrators on a default install).<\/p><\/dd>\n<dt id=\"do%20restrictions%20apply%20to%20administrators%3F\"><h3>Do restrictions apply to administrators?<\/h3><\/dt>\n<dd><p>Yes. Feature rules apply to all roles, including administrators. Users who can manage DashOrgNicer Feature Manager settings can always open DashOrgNicer Feature Manager to change rules.<\/p><\/dd>\n<dt id=\"does%20dashorgnicer%20feature%20manager%20only%20hide%20menu%20items%3F\"><h3>Does DashOrgNicer Feature Manager only hide menu items?<\/h3><\/dt>\n<dd><p>No. DashOrgNicer Feature Manager enforces restrictions through admin menus, capabilities, direct URL guards, REST API routes, and admin bar nodes where applicable.<\/p><\/dd>\n<dt id=\"can%20i%20lock%20myself%20out%20of%20dashorgnicer%20feature%20manager%3F\"><h3>Can I lock myself out of DashOrgNicer Feature Manager?<\/h3><\/dt>\n<dd><p>Any user with the <code>adftmgr_manage_settings<\/code> capability can always reopen DashOrgNicer Feature Manager to change rules. On a default install, that is the Administrator role.<\/p><\/dd>\n<dt id=\"what%20happens%20if%20i%20disable%20posts%20for%20all%20roles%3F\"><h3>What happens if I disable Posts for all roles?<\/h3><\/dt>\n<dd><p>Posts menus, screens, REST endpoints, and related admin bar links are blocked for affected users. Save carefully and keep at least one manager who can access DashOrgNicer Feature Manager.<\/p><\/dd>\n<dt id=\"does%20dashorgnicer%20feature%20manager%20support%20custom%20post%20types%20and%20plugin%20settings%20pages%3F\"><h3>Does DashOrgNicer Feature Manager support custom post types and plugin settings pages?<\/h3><\/dt>\n<dd><p>Yes. Custom post types are auto-discovered on the Post Types screen. Plugin and theme admin pages registered as <code>admin.php?page=\u2026<\/code> appear on the Plugin Pages screen. Settings sub-pages under <code>options-general.php<\/code> appear on Settings Screens.<\/p><\/dd>\n<dt id=\"will%20directory%20listing%20protection%20secure%20my%20server%3F\"><h3>Will directory listing protection secure my server?<\/h3><\/dt>\n<dd><p>No. The General setting only adds protective <code>index.php<\/code> files in WordPress-managed folders. Configure your web server (for example, disable directory indexes) for real hardening.<\/p><\/dd>\n<dt id=\"does%20disabling%20one%20settings%20screen%20block%20the%20rest%20api%20for%20that%20screen%3F\"><h3>Does disabling one Settings screen block the REST API for that screen?<\/h3><\/dt>\n<dd><p>Not individually in v1. Settings Screens enforcement applies to wp-admin menus, direct URLs, and capabilities. The shared <code>\/wp\/v2\/settings<\/code> REST route is blocked only when the parent <strong>Settings<\/strong> feature is denied on the Features page. Per-screen REST granularity may be added in a future release.<\/p><\/dd>\n<dt id=\"are%20plugin%20admin%20pages%20blocked%20via%20rest%3F\"><h3>Are plugin admin pages blocked via REST?<\/h3><\/dt>\n<dd><p>Plugin Pages enforcement covers wp-admin menus, <code>admin.php?page=\u2026<\/code> URLs, and capabilities. REST endpoints are not auto-discovered. Use the <code>adftmgr_admin_pages<\/code> filter to add <code>rest_routes<\/code> when a plugin exposes an API you need to gate.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release scaffold<\/li>\n<li>Admin menu with Features and Post Types pages<\/li>\n<li>Full MVP feature catalog with role-based enforcement<\/li>\n<li>Custom post type auto-discovery<\/li>\n<li>Full enforcement layers: menus, capabilities, direct URLs, REST API, and admin bar<\/li>\n<li>Settings Screens submenu for per-screen Settings access<\/li>\n<li>Plugin Pages submenu for third-party admin.php?page=* screens<\/li>\n<li>General submenu for site-wide admin toggles<\/li>\n<li>Directory listing protection via index.php placeholders<\/li>\n<li>Reset to WordPress defaults<\/li>\n<\/ul>","raw_excerpt":"Disable or role-restrict WordPress admin features and menus.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/338368","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=338368"}],"author":[{"embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/anandhunadesh"}],"wp:attachment":[{"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=338368"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=338368"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=338368"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=338368"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=338368"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/scn.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=338368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}