Press "Enter" to skip to content

Theming in WordPress without Sacrificing the Dashboard

When theming in WordPress, we often face this dilemma of how to balance writing custom code and maintaining a manageable dashboard. How much freedom is too much when we’re creating something for our users? And if we really do need all these bells and whistles, how do we ensure the dashboard still makes sense?

After working on a good number of WP builds and learning from mistakes over the years, there are a few rules that I’ve set for myself that help to resolve this dilemma along with a few plugins that make life a bit easier for both the dev and the user.

Screen Shot 2014-09-19 at 11.10.30 AM
A tweet I happened upon that inspired this post.

 The Rules:

Never Build Without Keeping the Dashboard in Mind First

If a contractor arrives at a plot of land and starts hacking at wood, piling up  bricks and has gone full throttle without considering where the doors are going to be, how many windows, or how to organize the electric so that it doesn’t come in contact with water – what do you think will be the result of that house that’s being built?

Tadah!!! < Rachel's very first WP site must've looked like this...
Tadah!!! < Rachel’s very first WP site must’ve looked like this…

In WordPress, there’s no, “Well, I’ll just build the doggone thing and worry about managing later.” Instead, you’d be surprised at how much just having a blueprint of what you’re planning to do helps out – both for your code as well as how the user is going to manage everything from the dashboard. A mentor of mine had a very good saying:

“Spend more time now to save time later.”

I’m a strong believer in this quote – and whenever I’m getting ready to start a new WordPress project, I purposely step away from the computer, and grab a notepad and pen instead. This habit hasn’t failed me yet.

Always Use What WP Has Out of the Box First

This is something that takes time. I’m still learning all that WordPress is capable of everyday, and in my earlier days, there were times where I wasted a lot of hours writing something from scratch that could’ve taken half the time had I known it was do-able in WordPress.

The Text Editor, Custom Fields, the Featured Image, Categories, Tags, Pages vs Posts – once you understand how WordPress operates out of the box, you can begin to see what you’ll be able to use these features for.  Weigh the pros and cons of using WordPress’ native features versus your own – and if you’re not sure, ask around. Odds are, someone has done this before or something like it, and can offer direction.

Label Everything as Obvious as You Can

Always assume that your user is not tech savvy, not code savvy, whatever term we use these days for people who aren’t into that unhealthy habit of being glued to one’s computer monitor. No matter how much the client brags about their HTML skills, always organize your dashboard as if a complete stranger who’s never seen a computer in his/her life is about to log into the admin. (Haha, kind of scary!) Also, this means no code in the Text Editor aside from what WP naturally inserts with it’s toolbar. If it really can’t be helped however, try shortcodes!

WordPress’ labels make things easy to find due to their clarity: Posts must be where I write my posts, Pages must be where the pages are, Media must be images and video, and so on. When building a theme, ask yourself this question: If I didn’t build this, would I know what “Page A” meant just by looking at it?

Also, if there are ways to provide some guidance or hints using descriptions, tooltips, administration messages, so long as they make sense UI wise, that’s also a great way to go. For the most part, just having clear labels will eliminate the need for anything else.

The Plugins:

Magic Fields

I’ve used MFs for most of my projects up until recently. The plugin allows you to create custom fields for your posts and pages without clogging up the default custom fields. There are different types of fields available, from a media uploader to simple text inputs, as well as an opportunity to provide helpful descriptions for your fields. Remember that last tip we just went over. 🙂 And it’s cool that the description shows up when hovering over the “What’s this” text on the field.

Fields can also be grouped for organization as well as duplicated. The sky is the limit with this plugin!

Advanced Custom Fields

This is the plugin that I’ve been replacing MFs with recently. It does the same thing except there are some more advanced options like applying rules to fields and add ons like the flexible content field that allows field groups to be re-ordered by dragging.

The only pro I believe that MFs has over ACF is that their duplicated fields/groups come out of the box whereas you have to pay for ACF’s repeater field. However, ACF makes up for that by having those conditional rules which in turn, make your dashboard, dare I say it, even CLEANER than with MFs. Perhaps you need a field to show up on a specific page. In MF’s, this field you create will show on all pages. No bueno. In ACF, you can set a rule to ensure that fields will appear only where needed.

As for the add ons, I think they’re worth the price. Purchase what you need once, and re-use the add ons for life without having to re-purchase.

MFs have been catching up with their documentation and support as it had been lacking up until recent months, but right now it looks like these two plugins are on almost equal footing – feel free to try them both and choose whatever suits your needs.

Last But Not Least

Here are a few older articles I’d written that cover de-cluttering dashboards even further.

Best Practices for WordPress Theming and Manageable Dashboards

  1. Keep the dashboard in mind before building – write out a plan or blueprint as detailed as possible before getting into the code.
  2. Use what you can out of the box first – then if it’s not possible, write from scratch.
  3. Label everything on the dashboard as obvious as you can.
  4. Try plugins that enhance the UI like Magic Fields, Advanced Custom Fields, and so on.

Have you ever faced this dilemma before? Have any tips on how you resolved it? Any cool habits to share that make development easier and managing content smoother? I’d love to hear it all! Drop me a line or contact me via the Suggest a Tutorial page. Hope this was helpful!


  1. Amba Junior
    Amba Junior September 28, 2014

    Thanks for the article

    • rachievee
      rachievee September 29, 2014

      You’re welcome! 🙂

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: