UX for WordPress Customizations

In January, I began working as a full-time developer at M&R Marketing Group here in Macon, GA. I’m excited about the opportunity to focus just on development full-time as well as experiencing what it’s like to develop within a full-service marketing agency.

One great experience so far has been watching some of the client training sessions. It’s amazing to take a step back and see WordPress as well as customizations ¬†from the perspective of the client who has to manage the site. To be honest, I thought I had focused on this perspective in the past but I’ve gotten a completely different view now that I’ve seen the training with clients in the room.

A Common UX Problem I had Never Noticed Before

Using custom post types, taxonomies, and page templates are great ways to add better organization to the client’s content. However, it’s also a way to add a bit of confusion to the default WordPress UX.

Let me paint the picture…

Create a page with content. Publish that page. Now imagine you are a client that wants to edit this page. While they are logged in, they will click the “Edit Page” button in the admin bar and make their changes.

They’re happy. They’re done.

Now create a custom post type as well as a page template to act as an aggregator for the posts of that post type. Now, when the client wants to make edits to this page, they click “Edit Page” and the editor within the dashboard is blank!

They’re confused.

For this page, our customizations have rendered the “Edit Page” button useless.

So What Do We Do About It?

For this particular problem, I created a plugin that allows us to add notes and links instructing clients on how to edit these special pages. However, since I made this plugin I’ve had a few more ideas on how to make this particular scenario more user-friendly. In short, a plugin that allowed for easy modification of the “Edit Page” link for select pages. So in this scenario, the “Edit Page” link would have a dropdown that offered options to add or edit posts of the custom post type (plugin coming shortly).

I’ve got my eye out for more of these issues that can be created through common customizations. Any others that you’ve seen?



  1. says

    I was literally wishing someone had bothered to make something like this about three hours ago. Went to WordCamp ATL’s page, clicked your site at random (love the design btw), and had a much happier evening…. pretty sure this plugin’s about to get some serious millage with a handful of my clients….

  2. says

    This is a really great idea, and I definitely will consider it for use in the future on certain projects. The scenario you bring up is one I deal with daily. Creating a page to serve as the main page/aggregate for a CPT. Generally though I will always have a Title (h1) and at least some copy on the page before the “list” or loop is output. So clients can at least edit that content when they click the Edit Page option.

    One thing I’ve done in cases where there is no content at all on the page other than the aggregate (for example a portfolio page of sorts), is to simply type text into the content area with a message lik: “This text will not be rendered on the page, the content for this page is generated by adding new items to the XXXX menu on the left…” or something to that effect. (of course my template file for the page just never outputs the_content()

    Accomplishes the same effect with no plugin, although of course doesn’t look as nice and only would work if there is zero content on the page.

    • The Ginger says

      Awesome! I hope it helps!

      I started out adding these types of messages to the page content for blank templates. We even played with the idea of using shortcodes around text to hide for pages that had other content to display. However there were two main reasons that :

      1. User could accidentally delete the message, or even worse the shortcode, causing the message to display on the front end.
      2. It didn’t allow us to directly link to the actions of creating or modifying items in the custom post type

Leave a Reply

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