{"id":1061,"date":"2025-11-01T11:37:01","date_gmt":"2025-11-01T11:37:01","guid":{"rendered":"https:\/\/ykim.synology.me\/wordpress\/?p=1061"},"modified":"2025-11-08T21:01:35","modified_gmt":"2025-11-08T21:01:35","slug":"how-to-hide-dashboard-in-wordpress","status":"publish","type":"post","link":"https:\/\/ykim.synology.me\/wordpress\/how-to-hide-dashboard-in-wordpress-1061\/","title":{"rendered":"How to show the dashboard for Author user in WordPress"},"content":{"rendered":"\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"175\" height=\"143\" src=\"https:\/\/ykim.synology.me\/wordpress\/wp-content\/uploads\/2025\/11\/image-3.png\" alt=\"\" class=\"wp-image-1072\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The <strong>Author<\/strong> user role in WordPress <strong>has dashboard access by default<\/strong> .<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Authors can:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Write, edit, and publish their own posts.<\/strong><\/li>\n\n\n\n<li><strong>Upload files<\/strong> to the Media Library.<\/li>\n\n\n\n<li><strong>See comments<\/strong> on the site (though they can typically only moderate comments on their own posts).<\/li>\n\n\n\n<li><strong>Edit their own profile.<\/strong><\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">If an Author user is <strong>unable to access the dashboard<\/strong> (the <code>\/wp-admin\/<\/code> area), it&#8217;s usually due to a <strong>plugin<\/strong> or <strong>custom code<\/strong> that has restricted their capabilities.<\/p>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udee0\ufe0f Solutions for Restoring Author Dashboard Access<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">If your Author user cannot access the dashboard, you have two primary methods to resolve the issue:<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">1. Check\/Modify Plugins and Settings (Recommended)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">The most common reason for restricted dashboard access for non-Administrator roles is a security or user role management plugin.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Review User Role\/Security Plugins:<\/strong> If you have plugins like <strong>Remove Dashboard Access<\/strong>, <strong>LoginPress<\/strong>, or other membership\/role editor plugins, check their settings. These plugins often have a setting that allows you to specify which roles (e.g., Administrator, Editor, Author) are allowed access to the <code>\/wp-admin\/<\/code> area. <strong>Ensure the Author role is selected.<\/strong><\/li>\n\n\n\n<li><strong>Check User Capabilities:<\/strong> If you use a <strong>User Role Editor<\/strong> plugin (like <strong>PublishPress Capabilities<\/strong>), verify that the <strong>Author<\/strong> role has the necessary capability, particularly <code>edit_posts<\/code> or the most basic capability required for dashboard access, which is usually <code>read<\/code>.<\/li>\n\n\n\n<li><strong>Disable and Test:<\/strong> As a diagnostic step, you can temporarily <strong>deactivate all non-core plugins<\/strong> one by one to see which one is blocking access. Once you find the culprit, configure its settings correctly.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">2. Custom Code Modification (Advanced)<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">If you suspect custom code in your theme&#8217;s <code>functions.php<\/code> file or a custom plugin is causing the redirection\/blocking, you can check for and remove the restrictive code.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Look for a code snippet similar to this, which blocks non-Administrators, and either remove it or modify it to include the Author role:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PHP<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nfunction restrict_admin_access() {\n    \/\/ Check if the user is in the admin area AND is not an administrator,\n    \/\/ and is not performing an AJAX call.\n    if ( is_admin() &amp;amp;&amp;amp; ! current_user_can(&#039;administrator&#039;) &amp;amp;&amp;amp; !( defined(&#039;DOING_AJAX&#039;) &amp;amp;&amp;amp; DOING_AJAX) ) {\n        \/\/ This line redirects non-admins to the homepage.\n        wp_redirect( home_url() );\n        exit;\n    }\n}\nadd_action( &#039;init&#039;, &#039;restrict_admin_access&#039; );\n\n<\/pre><\/div>\n\n\n<p class=\"wp-block-paragraph\">To allow <strong>Author<\/strong> users to keep dashboard access while restricting other roles (like Subscriber or Contributor), you can use the user capability <code>edit_posts<\/code>. Since the Author role has the <code>edit_posts<\/code> capability by default, checking for this capability is a safer way to grant access:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">PHP<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nfunction restrict_admin_access() {\n    \/\/ The &#039;edit_posts&#039; capability is given to Contributor, Author, Editor, and Administrator.\n    \/\/ If you only want Authors and above, this is a safe check.\n    if ( is_admin() &amp;amp;&amp;amp; ! current_user_can( &#039;edit_posts&#039; ) &amp;amp;&amp;amp; !( defined(&#039;DOING_AJAX&#039;) &amp;amp;&amp;amp; DOING_AJAX) ) {\n        wp_redirect( home_url() );\n        exit;\n    }\n}\nadd_action( &#039;init&#039;, &#039;restrict_admin_access&#039; );\n\n<\/pre><\/div>\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\"><strong>Note:<\/strong> Always place custom code in a <strong>Child Theme&#8217;s<\/strong> <code>functions.php<\/code> file or a <strong>custom plugin<\/strong> to prevent updates from overwriting your changes.<\/p>\n<\/blockquote>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\" \/>\n\n\n\n<h2 class=\"wp-block-heading\">\ud83d\udcda Reference List<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li>WordPress.org. <strong>Roles and Capabilities<\/strong>. (Documentation on default user roles and their permissions).<\/li>\n\n\n\n<li>WPBeginner. <strong>How to Limit Dashboard Access in WordPress<\/strong> (Discusses using plugins and code to manage dashboard access).<\/li>\n\n\n\n<li>Kinsta. <strong>WordPress functions.php File: The Ultimate Guide + Helpful Code Snippets<\/strong> (Provides context on where and how to safely add code snippets).<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n<div style='text-align:center' class='yasr-auto-insert-overall'><\/div><div style='text-align:center' class='yasr-auto-insert-visitor'><\/div>","protected":false},"excerpt":{"rendered":"<p>The Author user role in WordPress has dashboard access by default . Authors can: If an Author user is unable to access the dashboard (the \/wp-admin\/ area), it&#8217;s usually due to a plugin or custom code that has restricted their capabilities. \ud83d\udee0\ufe0f Solutions for Restoring Author Dashboard Access If your Author user cannot access the&#8230;<\/p>\n","protected":false},"author":4,"featured_media":1072,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_bbp_topic_count":0,"_bbp_reply_count":0,"_bbp_total_topic_count":0,"_bbp_total_reply_count":0,"_bbp_voice_count":0,"_bbp_anonymous_reply_count":0,"_bbp_topic_count_hidden":0,"_bbp_reply_count_hidden":0,"_bbp_forum_subforum_count":0,"_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_kad_post_classname":"","yasr_overall_rating":0,"yasr_post_is_review":"","yasr_auto_insert_disabled":"","yasr_review_type":"","fifu_image_url":"","fifu_image_alt":"","iawp_total_views":0,"footnotes":""},"categories":[87],"tags":[59],"class_list":["post-1061","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress-slug","tag-wordpress"],"yasr_visitor_votes":{"stars_attributes":{"read_only":false,"span_bottom":false},"number_of_votes":0,"sum_votes":0},"jetpack_featured_media_url":"https:\/\/ykim.synology.me\/wordpress\/wp-content\/uploads\/2025\/11\/image-3.png","_links":{"self":[{"href":"https:\/\/ykim.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/1061","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ykim.synology.me\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ykim.synology.me\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ykim.synology.me\/wordpress\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/ykim.synology.me\/wordpress\/wp-json\/wp\/v2\/comments?post=1061"}],"version-history":[{"count":4,"href":"https:\/\/ykim.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/1061\/revisions"}],"predecessor-version":[{"id":1073,"href":"https:\/\/ykim.synology.me\/wordpress\/wp-json\/wp\/v2\/posts\/1061\/revisions\/1073"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ykim.synology.me\/wordpress\/wp-json\/wp\/v2\/media\/1072"}],"wp:attachment":[{"href":"https:\/\/ykim.synology.me\/wordpress\/wp-json\/wp\/v2\/media?parent=1061"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ykim.synology.me\/wordpress\/wp-json\/wp\/v2\/categories?post=1061"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ykim.synology.me\/wordpress\/wp-json\/wp\/v2\/tags?post=1061"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}