Last Week in WordPress Core

Howdy, everyone! It’s time for Last Week In WordPress Core, for the week of February 3–February 9. Let’s start out with a couple of discussion points, then commit highlights, and close with housekeeping.

CSS autoprefixer?

@ocean90 has a proposal up on trac to use Autoprefixer to handle vendor prefixing. This is an neat idea, but has potential complications as to when we should run the Grunt task, since it’d be optimal for core.svn and develop.svn to continue to be as usable for development as possible. Have an opinion? Please join the discussion on #27078.


There is fresh discussion on how to handle the MySQLi transition. The current consensus seems to be that everyone would like a driver-style WPDB in the future. However, exactly what that will look like, and when it will happen is not yet agreed upon. Since there is an apparent need to move on this, in order to ease this in for plugin authors, for 3.9 @nacin suggests we start to use use mysqli but only when PHP 5.5+. Details on the ticket.

TinyMCE and Autosave

  • Incorporate the TinyMCE tests into our JS tests, #27014.
  • In TinyMCE, don’t replace <i> and <b> with <em> and <strong>, and don’t remove them when empty. Helpful when using an icon font. #24067, #23037.
  • @azaozz is weighing whether we need backcompat for plugins that had overridden or blocked autosaves (such as by overriding window.autosave). Feedback welcome on #25272.
  • Make it easy when using wp_editor() which editor (visual or text) is loaded first. #20822
  • Don’t scroll the main window when trying to scroll the editor content with a mouse wheel or trackpad. [27095], [27110]. This is still being tweaked, #27013.

Media and Embeds

  • Add imgur and oEmbed support. #21632, #23171.
  • Introduce maybe_regenerate_attachment_metadata(), which generates metadata if an attachment is lacking it entirely. #26825
  • Introduce has_image_size() and remove_image_size(), [27128], [27129], #26951, #26768.
  • When a video shortcode has content in its body, append it as inner HTML in the resulting <video>. This aids with including content such as subtitles. #26628

Administration related

  • Merge colors.css into wp-admin.css, resulting in 1,065 fewer lines. #18380. The next step in the wp-admin.css cleanup project is #26669.
  • In the revisions browser, the back button now returns you to the post you were editing, #26997.
  • Properly run wp_auth_check on every Heartbeat tick, #27081.
  • Properly remove post/page items from nav menus when the post/page is deleted, #26795. Fixes a regression that first appeared in 3.7.

Twenty Fourteen

  • Fix gap from appearing above static pages, #26694.
  • Delete the featured_content_ids transient on theme switch to make sure child themes can override the Featured Content quantity value. Also remove quantity parameter so child themes can change the amount of featured posts with $max_posts, #26660.
  • Fix unreachable links when the content area is shorter than the sidebar in smaller viewpoints, #26782.
  • Make sure featured tag is hidden on front-end views as expected, #26732.
  • Translate the featured tag slug used to link to specific tags in Posts editor, #26526.
  • Avoid showing full post in Ephemera widget when displayed in single post or page, #26961.
  • Use the display filter for get_bloginfo('name') attached to the wp_title filter, #26811. Also applies to Twenty Twelve and Twenty Thirteen.

Taxonomy and Caching

  • Regenerate the term hierarchy caches and object term caches when we can detect are stale. Work in #14485 and #22526 is ongoing; possibly with an alternative approach.
  • In  top-level term without first including its children, and recurse through entire depth in hierarchy. #26903.
  • In get_terms(), don’t automatically set hierarchical to false when parent => 0 is passed. The default value for parent is an empty string, #26903. Also required a fix in _get_term_children(), see [27108].
  • Other caching changes: #27000, #25545.


In make/core land, @nacin posted notes from last week’s team meeting that I’d suggest checking out if you weren’t able to make it. In other housekeeping notes, fine-grained ticket notifications and settings are now live, and if you haven’t yet signed up to be a Google Summer of Code mentor (and would like to), check out this post from @jenmylo.

For the complete list of commits to trunk, check out the log on Trac. There were a bunch of great inline docs updates not covered here.

Almost forty contributors helped out last week! Awesome! Want to help out this week? Write or test a patch for 3.9.

Thanks for efforts from _jameslee, adamsilverstein, Ajay, andykeith, antorome, avryl, azaozz, bradparbs, celloexpressions, DrewAPicture, drozdz, frank-klein, gcorne, helen, jdgrimes, jorbin, kitchin, kovshenin, kpdesign, lancewillett, markoheijnen, michelwppi, mor10, mordauk, nacin, NikV, nprasath002, obenland, philiparthurmoore, ruudjoyo, sennza, SergeyBiryukov, ShinichiN, TobiasBg, UmeshSingla, VarunAgw, and wonderboymusic.

#3-9, #week-in-core