Theming Your WordPress Dashboard: Admin Tools That Should Be Added Into WordPress Core

Themeing Your WordPress Dashboard

So often new users complain about the WordPress dashboard as not being intuitive. What if you could customize it to your liking with just a few plugins? What if these plugins were in Core?

Why are there so many plugins?

Have you ever wondered why there are so many plugins in the WordPress Repository? Do we really need to have all of these plugins that add very specific WordPress functionality? It turns out that the answer is yes.

When you first begin using WordPress, it’s easy to feel overwhelmed.

Between picking themes and plugins to learning a few new programming languages, there’s no real easy way to just dive into WordPress. That’s why article series, like this one, exist. They help others discover new plugins, themes, and ways of working with WordPress. There are plenty of other resources that you can leverage such as Meetups, Podcasts, and WordCamp.

One of my favorite parts about the WordPress community is that we all use WordPress to build our sites, apps, or other awesome projects. We all use some kind of crazy variation of plugins to accomplish specific tasks. Have you ever wondered why we’re all not using the same plugins?

Open Source is a great thing. It allows coders to contribute, fork, and create plugins that fix a need. Style is often the differentiator in one field plugin versus another, for example. Some form plugins are simple, and others are complex.

I’m not saying that we all have to use WooCommerce, even though you’re not selling anything. I’m saying that it may be easier to just have one plugin for custom fields, instead of ten plugins.

Is open source creativity creating a support issue? When creativity trumps efficiency, or user intuition, there could be a problem.

When you think about support and helping others, this is very obvious. If we all use the same plugin, anyone who also uses that plugin is a support resource — not just the plugin creator. Anyone qualifies to help. This is not the case, and there’s a redundancy and inefficiency which often results in confusion for the end-user.

I’m curious about the number of hours WordPress end-users spend searching for help due to their very specific needs. I’m sure the number is higher than we’d like. Is this a problem the WordPress community should solve?

The reason why all of these plugins exist is simple: no two businesses are exactly the same. This falls along the lines of why it’s rare to find two WordPress sites that do the same thing in the same way. This is why there is a diversity of plugins of the same type.

Why is this important to understand?

There are some clever ideas out there in the form of WordPress Plugins. The reason they exist in plugin form is because the idea was not meant to be used by everyone.

But some plugins are so widely-adopted, they could easily be part of Core. This is not an un-heard-of process, either. This post covers three plugins that I believe should be added into Core today.

Notice: Before you install a plugin, or make any kind of changes to your live WordPress website, please make a backup of your site first. We also recommend testing new themes and plugins on a staging or local environment first — like with DesktopServer.

Admin Columns

[wp-pic type=”plugin” slug=”codepress-admin-columns/” layout=”large” ]

Admin Columns are great for many reasons. They offer you the ability to see some details that are only shown on specific WordPress admin screens. If you visit Posts > All Posts, you’ll see a list of every blog post on your site. If you want to see how many words are inside of a post, you have to click on “Edit Post” and visit the edit post screen. If you would like to know what image is being used as the featured image, again you have view the edit post screen.

There is a solution to this problem. They’re called Admin Columns. With a plugin, or by using code from the WordPress Codex, you can create your own Admin Columns to feature specific information about a post or page. You can even use them on custom post types.

I’m 90% sure that at least two features, of the many features, listed in this plugin are already needed on most WordPress sites.

Admin Columns installs just like every other plugin. Once you activate the plugin, you’ll head over the the options page that’s located in the Settings Menu Item. Settings > Admin Columns. On the settings option page, you simply pick the type of post that you want to add a new column to by using the drop down provided. Once you pick the post type, you simply click on the add column button. Choose which type of data you want to appear in the column. Some data types will have different features that you will need to configure such as Custom Fields and Showing the featured image.

This screenshot shows you how to add columns with the Admin Columns plugin for your dashboard.
This screenshot shows you how to add columns with the Admin Columns plugin for your dashboard.

You can also rearrange the columns into any order that you want. By default, WordPress organizes the columns by title, author, categories, tags, comments and date published. Once you add in your new custom Admin Columns, you can shuffle them around to work for you.

Once you have configured and shuffled your columns to your liking, click on the “Store settings” update button on the right hand side. Your changes have been made and you can head over and look at all of your data. Let’s say that you added new columns into your custom post type of Sports. Head over to Sports > All Sports. You will be able to see your updated admin columns.

Why should this WordPress functionality be added into Core?

Many WordPress users would love to see the name of the last person who updated a post. I’ve personally helped many clients restore backups, by using Backup Buddy, because someone “messed up the page.”  An admin would now know who the last author was to modify a post / page.

The best part is, you don’t have to have this feature turned on, or added to the post type, before someone updates the page. Some settings, inside of WordPress, require you to have the feature active before it can be used. This data is already in the post, you just need to show it in a column.

The second feature that justifies adding this WordPress functionality to core is called “Used By Menu.” I’ve personally deleted many pages that I thought were dummy content. I had no Idea that a client had this specific page in their main menu. With Admin columns, you can add in a column that show if / which menu that a post / page is being used on. Pretty cool right?

Once you've added columns with Admin Column, this is what you'll see.
Once you’ve added columns with Admin Column, this is what you’ll see.

Simple History

[wp-pic type=”plugin” slug=”simple-history/” layout=”large” ]

Simple history is a plugin that collaborates with Admin Columns. How so? Let’s say that you have an admin column that shows you the last author to modify a post. That’s very helpful information. However, you may also need to know what information that author actually updated.

The problem here is that you need to turn on revision control inside of your WordPress install. Some hosting companies have to do it for you. Most of my sites are on WPEngine — a host that has revisions turned off by default. The good news is that you can still use this plugin.

Sidenote: Turning revisions off is not a bad thing. Revisions create an extra table in your database. 200 extra tables, per post type, may possibly slow down the performance of your site.

After installing this plugin, you will see the “Simple History” options page link inside of the Dashboard menu item. Here, you’ll be able to search through your history of changes by using a couple filters. You can see all the changes from the last 7 days, 30 days, 60 days or for all of the months that the plugin has been installed.

Remember when we talked about having a plugin turned on in order to use it? Yeah, this is one of those plugins.

Why should this WordPress functionality be added into Core?

Screenshot of the Dashboard with Simple History active.
Screenshot of the Dashboard with Simple History active.

In the screenshot above, you can see how useful a tool like this would be in the Core WordPress files.

Controlled Admin Access

[wp-pic type=”plugin” slug=”controlled-admin-access” layout=”large” ]

The last plugin that qualifies for WordPress Core integration is Controlled Admin Access. I think the name basically sums up the point. I’m going to let the plugin details do the explaining before adding my two cents on why it should be in Core.

“Give a temporarily limited admin access to themes designers, plugins developers and support agents. The plugin is simple and clean, it helps the administrator to create a user with a temporary access and choose which pages in your admin area which you don’t want the user to access. Send the details to the user and when he finished his task, you can easily deactivate the account and activate it later.”

Why should this WordPress functionality be added into Core?

As an administrator of the Advanced WordPress Group on Facebook, I’ve seen dozens of people ask for WordPress support. They hand over their admin username and password. They have to trust that this person, who they’ve only met online via chat or comment, won’t ruin their WordPress site.

This plugin would offer up a little more protection to WordPress users who are not aware that it’s unsafe to give your admin credentials out to anyone. Please, think of your admin credentials as if they were your Social Security Number.

I think I’ve made a pretty solid argument on why these WordPress functionality plugins needed to be added to WordPress core. Maybe one day they will. Who knows?

How will you theme your dash?

Was this article helpful to you? Are you planning on installing one, or all, of these plugins in the future? We want to know how you incorporated them into your WordPress site.

One thought on “Theming Your WordPress Dashboard: Admin Tools That Should Be Added Into WordPress Core

Leave a Reply

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