Customizing the WordPress Admin Panel
When we build a new WordPress site, we like to customize the admin panel as much as possible. Removing unnecessary widgets and menu items makes it easier for clients to find what they’re looking for, and it also gives the admin panel the feel of a custom CMS instead of a generic WordPress install. Here are a few of the more common customizations we do, including pros and cons of each. See the end of the post for downloadable code snippets.
1. How to remove Comments from the admin menu
Most of our clients are using WordPress for its CMS capabilities more than for its pure blogging functions. We have lots of clients with blogs, but they rarely want to worry about reviewing and approving comments, so we turn off comments completely. That means that there’s no need for the Comments items in the top and left navigation. The snippets below will remove from both locations.
None - this is easily reversible.
2. Give some Admin user permissions to Editors
Clients usually don’t need Admin permissions on a site, but we often end up giving them Admin accounts because they want to be able to manage users. Instead of automatically setting up all of our clients as Administrators, we often create Editor accounts for them. Then we add user-management permissions to that role. The main benefit is that Editors don’t have access to the template files, so they’re not able to accidentally break them. A second benefit is that we can hide certain menu items for Editors, and that helps us to simplify the Admin experience even more.
A clever user will realize that they can create a new account that’s an Admin account, and then they’ll have all the permissions that we’re trying to take away. But most users of our clients aren’t interested in having the power to break things, so this hasn’t been an issue yet.
3. How to remove “Thank you for creating with WordPress.”
This is easy, and it makes the admin panel feel a little more customized. Since Keystone has the whole airplane/flight theme going on, we replace this with “This site flown by Keystone,” and add a link to our site so customers can get quick support. Hook this into the “admin_footer_text” action.
There aren’t any real downsides to doing this, but be sensitive to the fact that not all clients want a backlink to their developer, even if it’s just in the admin panel.
4. How to Reorder the Admin Menu
We use a lot of custom post types, like events, properties (for a real estate site), press releases, etc. On sites with several CPT, the nav can get a little cluttered, so we’ll often re-order it to make it easier to find things. This one can get a little tricky to maintain, so we typically save it for clients with whom we have ongoing maintenance agreements. The function below re-orders the left nav and includes two custom post types, Event and Video. Those could be removed or changed, depending on your needs.
We’re basically removing the current admin navigation and then re-adding it with this function, so if you add something a custom post type later on, you’ll have to manually add it here. That makes this a bit of a hacky solution, so use it with caution.
PS - We use Kentico CMS for our company website. It's great, but it has some security settings that make it hard to upload code samples. Click here to download the code snippets.