Post Formats were almost a big deal in WordPress, until they weren't. But Custom Fields and Custom Post Types continue to be highly useful and used. I think it's time to discuss a Core solution to bridge this gap.
I know, I know… this is a dead horse. But let me quote the last thing that was said about the now forgotten Post Formats UI plugin which almost got merged into Core in WordPress version 3.6:
Post Formats UI is not ready for WordPress core… We’re going to pull it out, and let it continue development as a plugin.
Except it isn’t live on the Plugin Directory any longer, and its never been maintained since then.
A Little Background is In Order
Let’s back up a bit so you understand the context of this conversation. Post Formats is supported in WordPress Core. It has to be supported in your theme. If your theme supports them, you’ll see this additional Meta Box in your Post Edit screen:
Theme authors can disable this completely, or enable individual formats, or create their own formats. Lots of possibilities.
But the trick is next supporting that information in the post. Minimally, you could indicate the format just as if it was a tag or category. Alternatively, a theme author could go hog wild and support completely unique post layouts based on the Post Format. Many likened this concept to the Tumblr formats.
The trouble with how they are implemented in Core at the moment, is that they do absolutely nothing to the presentation of the content unless the Theme author takes great pains to customize them. Then additionally, if your theme took that effort and made each format look excellent, you might in a couple years switch to a new theme and if your new theme didn’t support those formats you’d lose all that effect.
Post Formats even have a slug. Like “tags” or “categories”, you can organize your sitemap around the Post Format with it’s “type” slug. For example, what if you wanted to write some posts about some Podcasts you like. You could automatically have a built-in way to display all your “Podcast” Post Formats:
Again, if your new theme doesn’t support Post Types, then that URL would become virtually useless.
Despite the fallbacks and pitfalls, some in the WordPress community saw the potential that Post Formats had (me included). Crowd Favorite in particular had client use-cases that called for Post Formats. In this post, founder Alex King (recently deceased, a beloved member of the WordPress community) explains how they developed a unique solution to Post Formats which allows users to add Format-specific information and makes the ability to choose your Post Format much more obvious.
That original plugin exists today only on Github. It still works as expected.
As you can see, the concept predates today’s “MP6” flat admin style. But from the screenshot you can see the tabs, and in the case of the Gallery Post Format it adds a metabox before the main content area to highlight the content of the Format you are choosing.
The drama happens though when this idea gets taken up by some prominent WordPress Core contributors, specifically Aaron Campbell and Helen Hou-Sandi. Helen ended up being the Project Lead for the Post Format UI and it was all pitched as inspired by Alex King’s original plugin and concept.
The first UI mock-up of the idea was a deviation from King’s tabs to more icon-based action buttons:
In that post, Jen Mylo expressed the concerns many users had with Post Formats UI at that time. They included:
- The icons look like things you might add into the post, rather than formats to choose from
- The icons disappear when a format is chosen and a “Change Format” link appears instead adding to the confusion.
- Clicking the “Change Format” link adds the row of icons back — which adds to the confusion.
It was these kinds of confusing user experience issues which killed this feature. Well-respected plugin developers and WordPress “power users” chimed in on that post to agree that it was all a bit “confusing” and not useful.
That is what eventually led to the sad conclusion, announced by Core 3.6 Lead, Mark Jaquith:
“… the result [of Post Formats UI] just isn’t compelling, or obvious, or any of the things that it should be. It’s not just a matter of polish, it seems to be a fundamental issue with the concept. The release can’t be held up any longer for this. It needs to come out.
Progress Since Then
A lot has happened related to Post Formats since all of that #wpdrama. Here’s a few things that I think are directly relevant to Post Formats which changes the nature of the conversation:
- MP6 is in Core. For the uninitiated, MP6 was the “code name” for the new WordPress Admin UI that started as a plugin, and eventually became part of the whole Admin experience that we all enjoy today. I believe it’s a FAR superior Admin experience and that it lends itself to a better UI for Post Formats than what the Core devs had to work with at the time of Core 3.6.
- Advanced Custom Fields and CMB2 have illustrated how powerful and necessary custom fields are. The real power of Post Formats that Alex King proposed was how it conditionally presented you with additional custom fields to add new and relevant data for your Post Format. ACF and CMB2 have become wildly popular methods for adding custom fields to Post Types. ACF in particular even has an excellent method for conditionally display custom fields based on selections within the Page or Post edit screen. Any developer wanting more complex layouts that they can control to pixel-perfect perfection is going to lean on ACF or CMB2.
- Nick Halsey. You might not know him, but he’s a young developer who is doing some amazing work behind the scenes for the WordPress Customizer (among other things). He’s one of the Core developers who helped create the ability to customize widgets in the Customizer. Recently, he released a plugin called “Featured Audio.” The idea is simple. If you want a post to be about a certain audio clip, upload the clip and it will be added to the top of the post in a similar fashion to the featured image. Sounds A LOT like Post Formats, right!? I expect that this will soon be a “Feature Plugin;” meaning a plugin which is considered to be included in Core rather than just a plugin. That is UNLESS, we can revive Post Formats.
- Customize Posts. One of the criticisms people had of Post Formats was they just didn’t know what a post was going to look like when it was published. Well, a current “Feature Plugin” called Customize Posts is working to resolve that issue with finality. It basically allows you to customize your post directly from the Customizer. Some of you are asking “Why in the world would I ever want to do that!?” Well, because you want to see what your post looks like live without having to publish it and go “Oh crap! That’s not what I wanted!” Now imagine changing your post content AND changing it to a Video format instead of a Standard format, and seeing that happen with Live Reload. That’s hot.
Time to Revisit Post Formats
Now that we’re all caught up, all I’m really advocating for here is to revive Alex King’s original concept for Post Formats. What’s amazing is you can install that plugin today, customize your theme a little, and it works incredibly well and has a much better UI/UX than what was proposed for WordPress 3.6.
For example, here’s an audio Post Format in the Admin UI using Crowd Favorite’s original plugin.
And here’s a potential view of what the Audio Post Format could look like using Twenty Sixteen (and one of my custom color schemes I’m adding into Beyond 2016).
I believe this has huge potential for WordPress Core and the way that users everywhere publish their content.
I don’t think I’m alone either. I suspect that Matt Mullenweg agrees. Conspicuously, Mullenweg has been using the Twenty Thirteen theme on his own personal website since WordPress Core 3.6 launched and uses the Post Format feature extensively and effectively.
Additionally, Helen Hou-Sandi — who led the failed Post Formats UI Project for 3.6 — is also the Core Release Lead for WordPress Core version 4.7. She recently wrote this post saying that she really wants to take the backend/frontend cognitive dissonance seriously and take steps to resolve that for users. She doesn’t mention Post Formats by name at all, but I believe this is a compatible feature for the goals she lays out to resolve in 4.7 for the “disconnect” that users currently experience when publishing via the WordPress backend.
- There’s still great usefulness in the Post Formats concept, as most developers who worked on it recognized.
- The problems that arose during Core 3.6 are virtually removed by just sticking to Alex King’s original concept by leaning more on tabs rather than icon buttons.
- The new Admin UI (MP6) is much more aesthetically pleasing and suits this feature much better than the previous.
- Use-cases like what Crowd Favorite had at the time, and Matt Mullenweg’s personal blog show there’s still great ways in which this can be implemented.
- Helen Hou-Sandi wants version 4.7 to help bridge this cognitive dissonance, and this can help enhance it.
- The new Customize Posts feature plugin could be a boon for Post Formats as well, allowing them to be live previewed directly in the Customizer.
All of this together suggests to me that the time is ripe to revisit the Post Formats discussion.