WordPress 4.2 on Track to Expand Core Support for Emoji

photo credit: Twitter.com
photo credit: Twitter.com

Emoji characters were born in Japan in the late 90’s but took nearly a decade to break into global usage. They entered popular culture full force when select emoji character sets were incorporated into Unicode in 2010. Since that time, emoji popularity has grown, and there’s no denying that they are mainstream and here to stay.

The good news is that better support for emoji will soon find its way into WordPress core. Last week, core contributor Gary Pendergast, unveiled a roadmap for better emoji support and detailed the current state of the feature plugin.

Pendergast has spent quite a bit of time immersing himself in the history of emoji and the requirements for their support. Pendergast filled contributors in on the status of WordPress core support for emoji:

As of r31349, WordPress partially supports emoji. ~60% of WordPress sites are running MySQL 5.5 or later (so can be upgraded to store emoji), and ~40% of browsers natively support emoji. Emoji are a wildly popular method of communication, so we can expect them to be heavily used as soon as they’re available. The problem is, 60%/40% means a really bad experience for a huge number of our users, who’ll try to use emoji, and fail.

Getting more WordPress sites to run on MySQL 5.5+ would be no small task, so the emoji feature plugin is working around this by adding a wp_encode_emoji() function to turn emoji characters into HTML entities for sites using the utf8 character set. This gets the remaining ~40% of sites nearly all the way there.

Twemoji Fallback

The feature plugin proposes that WordPress adopt the Twemoji image set as a fallback for browsers that don’t display emoji natively, which reduces the extra load, especially for mobile browsers. Twitter open sourced its Twemoji 872 character image set last November, simultaneously partnering with Automattic to bring emoji to WordPress.com users.

Pendergast reports that the plugin is close to being finished, with only a handful of remaining bugs to discuss. The plugin has already been briefly reviewed by the accessibility team and requires only a few minor changes. The issue of where to host the images is still under discussion, and Pendergast and contributors are considering different options:

They’re currently hosted on WP.com’s CDN, but we’re investigating other options for where to host them, probably the W.org CDN. Given that the wp-admin Dashboard also loads things from Google, I have no problem with hosting them on an external CDN. There will naturally be a filter on the URL, to allow local hosting for sites that don’t want to use the CDN.

WordPress is on track to provide more comprehensive support for emoji in the near future. Pendergast says the project is on target for the upcoming 4.2 release.

In the meantime, if you’d like to add emoji support to your self-hosted WordPress site, WP Emoji One is a good option. The plugin was the first to bring support for the open source Emoji One character set to WordPress posts and pages.


18 responses to “WordPress 4.2 on Track to Expand Core Support for Emoji”

  1. I too think adding Emoji support is a bit out there, but when listening to a recent interview of Matt Mullenweg where he mentions that Emoji is supported on nearly every mobile device coupled with the fact that the world has more mobile devices than people, then it seems counter intuitive for WordPress not to support it.

  2. This is a paraphrase:
    Jimi Hendrix and his manager went to a gig; Jimi’s manager was not at all impressed with the talent, so he asked Jimi why he had come to this particular venue; Jimi responded, ‘you never know, you might find a gem in all that muck’.

  3. I find this feature weird. But like @Jeff, after listening to Matt’s interview of Matt Mullenweg.. then yeah the addition of this sounds logical. More and more people are visiting sites & reading blogs on their mobile, so commenting with emojis (:poop:) isn’t so far fetched.


Subscribe Via Email

Enter your email address to subscribe to this blog and receive notifications of new posts by email.