How To Customize WordPress Admin Interface For Clients

So here come the simple hacks, making developer’s life easy. Why so? Because despite the fact that WordPress is considered to be one of the most easy-to-learn CMS in the industry, not every client could be tech-educated.

Another reason to set custom privileges or restrictions to certain people is that website may have big team working on different angles and developers would like to avoid any possibility to mess up with certain areas of the dashboard.

The following tricks and plugins I am going to speak in this article may help to prevent or reduce the risks of any conflicts between developers and clients and other possible users who may have access to the backend of a website on daily basis.

So without further re dough let’s jump into and take control over all aspects of WordPress and make you clients level of tech comfort more easy and comfortable.

Setting Roles and Restrictions

WordPress core gives the most simple way to set roles with some restrictions on the backend itself by creating roles and restrictions including categories such as Editor, Author, Contributor or Subscriber. In this case the person who is building the website should always keep administrator’s position.

In most of the parts regarding limitations can be edited in functions.php, which is found in active theme folder. Yet many developers suggest to make all restrictions via php file.

Dont forget about Child Themes, when following this case. If you modify a theme directly or it is updated after manual changes, then your modifications may be lost. In this case a Child Theme shall be created in order to ensure yourself that modifications within the theme are preserved.

Let me mention also that changing some themes can cause some problems to webpage that will not affect WordPress updates, unless you are using third party theme.

Simple code of hiding a sidebar is another solution for those who installed a lot of plugins to the site. The function code below helps to hide specific items based on users.

function restrict_dashbord_menus_per_user() {
global $menu;
global $current_user;
get_currentuserinfo();
if($current_user->user_login == ‘username_here’) {
  $restricted_menu_items = array(
	__(‘Links’),
	__(‘Appearance’),
	__(‘Plugins’),
	__(‘Users’),
	__(‘Tools’),
	__(‘Settings’)
  );
  end ($menu);
  while (prev($menu)){
	$dashbord_menu_array = explode(‘ ‘,$menu[key($menu)][0]); 
	if(in_array($dashbord_menu_array[0] != NULL?$dashbord_menu_array[0]:”" , $restricted_menu_items)){ unset($menu[key($menu)]); }
  } //end while loop 
}   //end if condition 
} 
add_action(‘admin_menu’, ‘restrict_dashbord_menus_per_user’);

Another way to remove menus is with remove_menu_page() and remove_submenu_page(). In this case you’ll just need to add the following code to your functions.php file:

add_action( 'admin_menu', 'remove_menus' );
 function remove_menus(){
  if ( !current_user_can( 'manage_options' ) ) {
   remove_menu_page( 'tools.php' );
   remove_menu_page( 'options-general.php' );
  }
}

Make yourself sure that in this case you remove the menu from editors only and as an administrator still have the full access to all options. So use current_user_can() call instead of admin_menu

How to Disable Plugin and Theme Editing

Another simple and straight option would be to disable plugin and theme editing perspective. With a simple snippet of the core code you can keep your clients from editing the plugins and themes on the back-end of the website. You’ll just need to access the wp-config.php file within the cPanel and add the following code define( ‘DISALLOW_FILE_EDIT’, true );

This code will hide the menu entry and disable the chance to edit or customize plugins or themes. This will block the users from editing, even if they have the URL link for the entry.

Why I do enjoy this option is because it allows to set roles and restrictions to multiple users. So let’s say you have a big website you are working on, that includes entries from different users, including designers, SEO team members, editors, writers and photographers, with this simple step you can block the mentioned people from any entry to plugin or theme customization.

Customize WordPress Admin Panel via Plugins

In case you have no specific contract with certain clients or you have to built the website without further support in the future you may want to use a plugin, instead of messing out with codes. This will help developers to give some steps to the client and teach how to bring back the full access to the dashboard if needed, especially when your client express desire to expand its scope with the expanding business.

Press Permit Core

Some news websites based on WordPress claim to use Press Permit Core successfully.

After installation of this plugin, admin has a chance to create a new option called “Permissions”. This helps to control reading access to specified categories, users may have access only to necessary areas of the dashboard. Simple and easy to navigate plugin for each and every level of CMS knowledge.

I enjoyed using “Hidden Content Teaser” tool, which gives you opportunity to display teaser message to users who cannot read a post. Although it’s ”Roles and Exceptions” mode is closely integrated with the WP capability system, this plugin has way more options to set and customize.

Add Handy Widgets

With the latest update of WordPress, users can see more widget pop-ups telling how to navigate through backend. The same can be made with custom widgets. Administrators can add custom notes, links to tutorials and reminders and guidelines.

Here is an optional code to create a widget

add_action( 'wp_dashboard_setup', 'register_my_dashboard_widget' );
function register_my_dashboard_widget() {
  wp_add_dashboard_widget(
    'my_dashboard_widget',
    'My Dashboard Widget',
    'my_dashboard_widget_display'
  );
}
function my_dashboard_widget_display() {
  echo 'This is Web-Dorado's customer service, feel free to ask';
}

Label WordPress Site and Brand it as Your Own CMS

Another reason of using this plugin is that by default WordPress does not allow editors to have any access to the appearance menu, yet with the installation of WL CMS plugin you may open some settings for editors within the appearance menu, rebrand and customize the dashboard as well as the login screen of your WordPress screen without additional white label CMS plugin. It’s pretty simple and easy to use. Via settings you may also customize updates, set them to appear as notifications or not, hide updates, hide other dashboard widgets, name header logo, name footer and so on.

White Label CMS

By the way you may also add the custom footer text in functions.php file of the theme via the following code, which will put your email address within the footer of WordPress admin pages.

function my_custom_text_admin_footer() { 
  echo “Custom Text for WordPress Admin Footer Area”;
} 
add_filter(‘admin_footer_text’, ‘my_custom_text_admin_footer’);

This plugin will also help you to insert a custom image on your home login page, even gifs are possible to implement, login background color options are available too. Ability to add custom widget to be on the home screen of the website login and option to add links to the video tutorials and welcome message texts are really putting this plugin on the top when comparing with similar ones.

Advanced Custom Fields

Another powerful pro tool, allowing to customize your WordPress fields is called “Advanced Custom Fields”.

Clients logo, developer logo in the bottom or footer, taking off update info from the clients and more other tools are available within this plugin. ACF is the most downloaded whiteboard panel plugin (with over 100,000+ active installs) available in the market.

Custom Login

When speaking about custom login panel, I’d like to mention this guy called “Custom Login” created by Austin Passy from Frosty Media. What i enjoyed the most from this plugin are the options allowing users to login without a password – really nice tools for the clients who tend to forget the password and email about this issue to developers all the time. Another option called “Custom Login Stealth Login” gives you one solution with two options for unauthorized users, different security pop-up options and simple tasks to fill before logging in. If a user doesn’t have the correct “key” or “code” the window will redirect them away from the page or you may kill the generation of the page with a displayed message.

Ultimate Branding

And the last tool we are going to speak today is called “Ultimate Branding” created by WPMU DEV. The most pretty feature of this plugin that I personally liked the most is the ability to add a background image or completely redesign login screen with custom design elements, some colors and fonts available within the plugin.

And finally, don’t forget about warm support tools, that are not available in any other website, but in your mind and skills. Your sincere interest and obstinacy to your clients will help you to progress in business and built trustful circle of devoted clients.

Gregor is an experienced technology blogger, focused on covering WordPress related topics. He is a regular contribur at Web-Dorado blog, mainly writing on the latest premium WordPress plugins and themes.

Leave a Reply

Your email address will not be published. Required fields are marked *