5 lesser-known improvements in WordPress 4.6

WordPress 4.6, “Pepper” was released earlier this week to what has been by all accounts a pretty great reception. Notable features and improvements in 4.6 include Shiny Updates v2™, native fonts in the admin, editor improvements, and a whole host of developer goodies.

And as with any major release of WordPress, there are always features and improvements made that get overlooked. Here’s five little-known features, fixes, and improvements you may not know about in WordPress 4.6.

1. A modernized Import screen

Before and after (WordPress 4.6) screenshots of the Import screen

What began as an effort to remove title attributes for accessibility reasons eventually turned into a significant usability refresh of the Import screen.

Easily the biggest change was making this screen feel more like a place to manage and launch importers as separate actions. Each importer now has row actions to install and run, as well as a “Details” link that opens the plugin information popup just like with regular plugins.

As a bonus, importers can also now be installed in-line similarly to how shiny updates allows for in-line updates of plugins and themes. Click “Install” and it happens in place. Smart!

Finally, 4.6 also introduces help text to this screen. Overall, big – yet incremental – usability changes to a not oft-used screen. And of course, it’s now more accessible!

2. Network Admin and the Sites menu got a better icon

Before and after (WordPress 4.6) screenshots of the Sites menu icon in the Network Admin

In a relatively minor change, a new dashicon was introduced for the Network Admin toolbar item, as well as the Network Admin > Sites menu. Big improvement over the old ambiguous key icon.

3. Embed previews when inserting from a URL were fixed

Screenshot of the Insert From URL workflow in the media modal in WordPress 4.6

With the advent of embeddable WordPress content starting in 4.4, came the ability to embed that content via the Insert from URL workflow in the media modal. At some point, the preview mechanism was broken; this has been fixed in 4.6. Love this feature.

4. Upload and install plugins from the same screen

Add plugins drop-down panel in Add Plugins in WordPress 4.6

A core tenet of the Shiny Updates v2™ feature in WordPress 4.6 was to increase the efficiency of installing and updating plugins and themes.

One lesser-known way this was achieved was by integrating the plugin upload form into the main Add Plugins screen. The old way redirected users to a completely separate page.

If you’re wondering why that sounds familiar, it already worked this way in Add Themes. Regardless, nice to see incremental usability improvements like this.

5. Actions and filters can now be properly deprecated

One code change that really didn’t get a lot of play in feature announcements was that deprecating hooks is now possible in core. Add-on developers may now collectively rejoice!

No core hooks were deprecated in 4.6, but that shouldn’t stop plugin and theme developers from using it right away,

Two new global functions were added, do_action_deprecated() and apply_filters_deprecated(), along with the private helper they both use: _deprecated_hook(). All in all, deprecating hooks is pretty straightforward:

Old action call:

/**
 * Fires when writing Codex articles.
 *
 * @since 0.71
 *
 * @param bool $codex  Whether to write Codex articles. Default false.
 * @param bool $devhub Whether to write DevHub articles. Default true.
do_action( 'write_codex_articles', $codex, $devhub );

Deprecated action call:

/**
 * Fires when writing Codex articles.
 *
 * @since 0.71
 * @deprecated 3.7.0
 * @see 'write_devhub_articles'
 */
do_action_deprecated( 'write_codex_articles', array( $codex, $devhub ), '3.7.0', 'write_devhub_articles', 'woohoo!' );

Boom.


Hope you’ve enjoyed this post. Are there any other lesser-known improvements in WordPress 4.6 that tickled your fancy? Share them in the comments!

Translate Me

In an effort to fully embrace internationalization in the WordPress community, I launched a campaign this morning called Translate Me.

See, I released a new plugin this week, Support Me, which aims to drastically simplify the process of creating – and later removing – temporary user accounts for support purposes.

Support Me is unique in that it is the first of my plugins to leverage the amazing and massive community of translators over at translate.wordpress.org. Language packs are served to Support Me users on-demand, meaning I don’t need to generate and ship translation files with the plugin; I simply internationalize my plugin as usual, then register the text domain in the plugin header and it just works. Amazing.

The concept behind Translate Me is simple: For every locale team that 100 percent translates Support Me, I will use WordPress in that language – where feasible – for an entire day.

Since French (France) was the first team to reach 100 percent completion, I’ve been using WordPress in French all day today. I can definitely tell you it has proven to be a worthy challenge of my familiarity with WordPress admin interfaces, mostly because I don’t speak French!

Bonus points go out to the third-party translators who’ve translated strings for AffiliateWP – the plugin I work on full-time. The French translation appears to be quite complete!

Progress So Far

As of this writing, Support Me has already been 100 percent translated for six locales:

Moar since this was originally posted:

Either way, it looks like I’ll be experiencing a lot of multilingual WordPress in the next few days once I pick up the campaign again on Monday morning. So far the schedule looks like this:

  • Monday: English (UK)
  • Tuesday: German (Formal in the afternoon)
  • Wednesday: Russian
  • Thursday: Italian
  • Friday: Hebrew
  • Monday: Japanese
  • Tuesday: Nepali
  • Wednesday: Your language? 😍

As more languages are completed, I’ll continue to add days. The goal is to promote the idea of community translation and ensure credit is given where it’s due. And to be honest, I’m kind of looking forward to the completion of an RTL language; that should be an interesting day!

Press the Words

With future days’ languages still up for grabs, it’s a great opportunity to start contributing to WordPress through translation.

If you’re a speaker of any language and have previously been hesitant to contribute to WordPress for fear that you don’t know how to code or design or whathaveyou, the Translation team can very likely use your help! With upward of 150 active locales, there’s something for just about everyone. Check it out!

Side note: As of WordPress 4.6, plugins and themes hosted and served from WordPress.org will no longer need to load their respective text domains, more on that on make/core.

Jazz up your WordPress generator tag

A couple of years ago when I was in the throws of the Filters of the Day series, I wrote an example for the get_the_generator_{$type} hook that supplemented WordPress’ default generator tag with the jazz artist that release was named after.

The concept is simple: say you’re running WordPress 4.5.2 on your site. The default generator meta tag would output “WordPress 4.5.2” in your site’s source. This plugin supplements that to instead say “WordPress 4.5.2 to the sounds of Coleman Hawkins”. It matches the jazz artist whether you’re running a major or minor release. If you’re running trunk (like on this site), you’ll get a generic “WordPress X.X to the sounds of jazz” string.

In the years since Filters of the Day, I’ve referenced this particular example several different times in WordCamp and meetup talks, and yesterday, I decided to turn it into a plugin and submit it to WordPress.org: Jazzy Generator Tag.

To see Jazzy Generator Tag in action, it’s active on this site right now, just view the source code. If you’re interested in my other plugins, check out my plugins page, or my profile page on WordPress.org.

Shout out to Dominik Schilling (ocean90) for helping me make this plugin translatable for jazz artists of different genders!

WordPress can learn a lot from Apple CareKit

Earlier today I watched an Apple town hall event that announced, among other things, a couple of new devices and a new IOS app called CareKit, part of Apple’s “Health” initiative. As an Android user, I don’t usually pay much attention to IOS-related announcements, but the CareKit launch made me sit up and take notice.

In Apple COO Jeff Williams’ CareKit presentation, I was really struck with the level of innovation this new app – and its previously released companion app, ResearchKit – imbue.

Think about this for a moment: Apple took what was already a strong product with a targeted base, and leveraging its strengths as a mobile input device, introduced a completely new level of usefulness in the form of health data collection.

ResearchKit has empowered health institutions to aggregate massive amounts of health data never before collectable, which in turn has made it possible to draw more informed conclusions about common diseases and disorders.

This new CareKit app more closely targets personal care rather than aggregated care by building a direct bridge between caregivers and patients.

I feel like these two apps constitute a life-changing innovation, which in my opinion is a feature so profound and yet so simple, that we wonder how we lived without it.

And it’s there, where I think WordPress can learn a lot from Apple on the innovation front.

WordPress has always striven to make the process of content publishing easier. At the same time, new features are often great and useful, but also occasionally gimmicky or fickle to the latest fad.

In some respects, there are already solid examples of WordPress being used as a vehicle for success in the worldwide community. In fact, a recent HeroPress post by Raghavendra Satish Peri, Finding Hope In The Darkness, is evidence enough that there is great promise in pursuing the line of thinking that WordPress can be a game changer in people’s lives.

If we’re to aim for that elusive 50 percent market share Matt Mullenweg so publicly espouses, we’re going to have to think more critically about what WordPress can do to change how people think about it as a platform.

Perhaps it’s time we turn our idea of success on its head, and leveraging its strengths, find ways for WordPress to innovate in making people’s lives easier.

Then I think we’d really be off to the races.

Contributing Full Time Isn’t For Everyone

For the last seven months, I’ve been contributing full time to WordPress as a Platform Engineer at 10up, a role I helped develop.

It’s had its ups and downs to be sure, but the biggest takeaway is that contributing full time isn’t for everyone, and as I’ve come to realize, not for me.

Let me explain.

Contributing full time provides a ton of freedom to work and iterate on any aspect of the community you can dream up. Sounds good right? It is if you can sustain it.

Here’s the thing: burnout is a real struggle. And when you’re working on something full bore, 100 percent of the time, and you burn out, there aren’t a lot of good options to help combat that except to keep pressing on and try to get your groove back.

As a community contributor at 10up, I’ve always been given near-complete autonomy. There’s no strong-armed commercial agenda; 10up nudged me toward broad projects in its vested interest, like WordPress core or documentation, but it never micromanaged my contributions. That said, the autonomy can take its toll, and it left me feeling isolated.

To be fair, in the three years I’ve worked at 10up, I’ve always had some slice of contributing time. It started with about a 25/75 percent split contributing vs regular development. Then around the two year mark, it went to 50/50 for a while, then briefly to 100 percent when I led the 4.2 release, then back to 50/50, and finally to 100 percent for the last 7 months.

It really comes down to having a lot more experience splitting my time between contributing and regular development than contributing full time. Unfortunately it took the last 7 months to recognize that the split is how I best combated burnout. Lesson learned.


Before I tell you about what’s next and where I’m going, I think it’s best to talk a bit about where I’ve been.

When I originally joined 10up, it was following a brief conversation with president and founder Jake Goldman at WordCamp Phoenix 2013. We were talking about my community contributions to date. I was looking to level up in my career at the time, but was reluctant to apply at 10up because they’re the best!

Jake told me he knew I was selling myself short and that I should apply anyway. I can easily say three years later that joining 10up turned out to be the best decision I’ve made in my professional life.

I’ve grown exponentially in my time at 10up both as a developer and an influencer in the WordPress community. When I joined in March 2013, I had already been contributing to WordPress for two years on my own time, mostly in the realm of documentation and core.

At the time, WordPress 3.6 development was in full swing and I was well on my way to earning the moniker of “Recent Rockstar” – now the equivalent of “Contributing Developer” for that release. The 3.6 release combined with having paid time to contribute ended up signaling a turning point in my career in WordPress.

Starting in the 3.7 release in the fall of 2013 and continuing all the way through the end of the 3.9 release in April 2014, I led the efforts to document all of the actions and filters in WordPress core, gaining guest commit access in the process.

It didn’t stop there. 10up’s continued dedication to good open source citizenship empowered me to reach further and accomplish more, especially in areas where a lot of help was needed, like developer documentation.

By the time a year had passed, I was established as a permanent committer to WordPress, was leading the 4.2 release, and sponsoring community initiatives to improve the new user experience in WordPress.

In short, 2015 was a whirlwind year for me in WordPress contributing.

I began the year leading the 4.2 release and followed that up with serving as the lead organizer for WordCamp Denver. I traveled to Seville and spoke at WordCamp Europe about new user experience, traveled to and spoke at WordCamp Cape Town about the release process and advanced queries, spoke at WordCamp Portland about beta testing, and finally, helped organize the largest WordCamp contributor day held to date at the inaugural WordCamp US in Philadelphia.

I said it best at WordCamp Cape Town: It takes a village to make WordPress. And I would not have been able realize the successes I have without the rockstar cast of 10up contributors I have the honor of calling colleagues and friends. People like Helen Hou-Sandí, Adam Silverstein, Morgan Estes, Ryan Welcher, Scott Kingsley Clark, Jake Goldman, and others. That internal support system at 10up has allowed me to flourish.


With all of that history in mind, you can kind of see how I felt like the next logical step in my career would be to contribute full time and really make my mark. As I found out, that didn’t turn out to be a good fit.

That realization essentially left me with two options:

  1. Go back to a split of community and client services work
  2. Move on from 10up and try something new

I’ve chosen the latter. Last Friday was my last day at 10up.

You see, the entirety of my WordPress career has seen me working in a mix of community and client services. Don’t get me wrong, client services is a challenging field, to be sure. At the same time, its ever-changing nature has left me yearning for an opportunity to work on something that’s more long-term and allows for greater creative control: products.

With this change, I’ll also have the opportunity to work on a smaller team again, something I’m looking forward to. When I joined 10up three years ago, I was the 25th hire. 10up now employs something in the neighborhood of 130+ people worldwide, a more than 400 percent increase in the last three years!

That said, I’m going to work for someone I respect immensely as a developer, a business owner, and an innovator: Pippin Williamson.

I couldn’t be more excited to start this next chapter in my career, and joining Pippin and his team to work on products like AffiliateWP, Easy Digital Downloads, and Restrict Content Pro feels like the best move I could make.

Like Jake, Pippin shares a commitment to good open source citizenship, so he’ll naturally be donating some portion of my time to contribute to WordPress. Just not all of it 🙂

To be clear: I’m incredibly grateful for the opportunities that have been afforded me at 10up, and for the friendships I’ve developed there. The fact that my exit has been amicable and fully supported at every turn by the leadership speaks volumes about everyone involved.

Suffice it to say, I’m sad to go, but I’m looking forward to what’s next.