Sr. Software Engineer

What You Need To Know About WordPress 3.9

The latest version of WordPress named “Smith” was released yesterday which brings us another round of core changes. This time, the team worked mainly on the back-end editing and admin functions, such as a big TinyMCE (visual editor) update, gallery previews, media playlists, an improved widget UI and live theme previews (only to mention a few). Here’s what you need to know about the major changes in WordPress 3.9.

Improved Widget Interface

While the old widget interface set the standard for drag-and-drop UI when it was introduced, it was time for an overhaul. The developer team took theWidget Customizer plugin and essentially built it into the core.

The biggest changes that come with the new widget interface are live previews, among others:

Updated Visual Editor

The visual editor has received a major overhaul (both under the hood and on the UI end), adding a horizontal line button, updated Plupload, and an updated TinyMCE. Small visual changes seem to have been applied to many different button icons.

The new visual editor brings with it gallery previews, meaning no more place holder boxes for galleries! You’ll have a live preview of your gallery, just like you do with images and other media.

The updated visual editor also brings drag & drop functionality, allowing you to drag images from your desktop, and drop them right into the post. They’ll be automatically formatted to fit the post.

Here’s a quick preview of how it works:

A preview of the updated visual editor in WordPress’ latest 3.9 version. (Watch on YouTube)

Live Theme Preview Additions

Live theme preview gives you a way to see how your site would look using a different theme. This has been around for a while and WordPress is finally adding new features to the framework they’ve built.

Apart from the usual customizations options like color, title and whatever else is defined by the theme, you can now add widgets and rearrange them, seeing exactly how they will look once saved. In addition, the header image facility has received an overhaul and now provides even more flexibility.

Easier Theme Installation

The new theme installation interface is a vast improvement over the old. It will be blatantly obvious to anyone who’s ever seen the pre-WordPress 3.9 theme installation screen.

Installing new themes is even easier now, too. The theme installation interface has been totally redone. Some of the most popular themes are displayed immediately in the “Featured” tab, for quick installation.

There are also tabs for popular themes and latest themes. The feature filter has been moved into it’s own tab, and has been generally cleaned up.

Audio & Video Playlists

Users are now able to create audio and video playlists with WordPress 3.9. They work as a shortcode, just like the image galleries do currently. Uploading audio and video is handled through the usual media uploader, with images and everything else. From there, you have the option to add them to a playlist.

A neat little feature is that WordPress 3.9 will try to automatically fetch album cover artwork using the ID3 tags in your media file.

Key Points For Developers

Plugin and theme developers need to know a few new and important things. Right when upgrading to WordPress 3.9, four new utility functions are mentioned. doing_action() and doing_filter() allow for identifying a hook in progress. The other two functions, has_image_size() and remove_image_size()allow manipulation of custom image sizes.

Various external libraries have been updated, including jQuery, the ever popular JavaScript framework. TinyMCE, which provides the text and visual editing components. Underscore, a utility-belt for functional JavaScript programming. Plupload, which drives most of the upload interfaces in WordPress. Backbone, which uses Underscore as it’s backbone, essentiallyprovides models with key-value bindings and custom events. MediaElement is a well-crafted HTML5 audio and video player. Masonry 3 is a cascading grid layout library.

The database layer has also been improved, making it more fault-resistant and bringing improved compatibility with PHP 5.5 and MySQL 5.6. For example, PHP’s mysqli library is now used when PHP 5.5+ is available. Autosave functionality has been improved, as well.

Your themes can now make use of HTML5 galleries and captions. Addingadd_theme_support( 'html5', array( 'gallery', 'caption' ) ); to your theme’s functions.php file will enable HTML5 galleries and captions. Symlinked pluginsare a new thing to WordPress 3.9. While it was technically possible in the past, it’s now fully supported:

“One of the cool little features included with 3.9 is the ability to symlink plugin directories. While it has been possible to symlink plugins in the past, functions such as plugins_url() return the wrong URL, which causes breakage in most plugins.”

If you’re a theme or a plugin developer, don’t forget to update your repositories. For some items you may just need to change your “Tested Up To” strings, in other cases (especially if you utilize heavily modified editor or upload configurations) you may need to look at the core changes in more detail.

So, What Are You Waiting For?

Keep in mind that upgrading your WordPress installation is the number one way to prevent malicious activity and exploits. As always, before any update, please do not forget to back up your database just in case anything goes pear shaped!