Last Week in WordPress Core

Howdy, everyone! It’s time for Last Week In WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., 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.

CSSCSS Cascading Style Sheets. 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 pluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the Plugin Directory or can be cost-based plugin from a third-party authors, for 3.9 @nacin suggests we start to use use mysqli but only when PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 5.5+. Details on the ticketticket Created for both bug reports and feature development on the bug tracker..

TinyMCE and Autosave

  • Incorporate the TinyMCE tests into our JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. 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 shortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. has content in its body, append it as inner HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. 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 revisionsRevisions The WordPress revisions system stores a record of each saved draft or published update. The revision system allows you to see what changes were made in each revision by dragging a slider (or using the Next/Previous buttons). The display indicates what has changed in each revision. 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 regressionregression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. 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 sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. in smaller viewpoints, #26782.
  • Make sure featured tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.) 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 widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. when displayed in single post or page, #26961.
  • Use the display filterFilter Filters are one of the two types of Hooks They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. for get_bloginfo('name') attached to the wp_title filter, #26811. Also applies to Twenty Twelve and Twenty Thirteen.

TaxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. 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 trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision., check out the log on Trac. There were a bunch of great inline docsinline docs (phpdoc, docblock, xref) 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