WordPress Core Weekly

Hi Everyone!

It’s time for another run-down of what’s going on in WordPress coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. This edition covers February 3rd, 2015 [31332] through February 11th, 2015 [31410].

Quick info: If you’re interested in helping out with these updates, comment below, or pingPing The act of sending a very small amount of data to an end point. Ping is used in computer science to illicit a response from a target server to test it’s connection. Ping is also a term used by Slack users to @ someone or send them a direct message (DM). Users might say something along the lines of “Ping me when the meeting starts.” @mike on SlackSlack Slack is a Collaborative Group Chat Platform https://slack.com/. The WordPress community has its own Slack Channel at https://make.wordpress.org/chat/.! There’s a dedicated #core-weekly-update channel and you can even use a super cool script to parse the logs.

Without further ado:

CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.

  • Improve the Customize experience on mobile. [31384] #28784
  • Introduce an APIAPI An API or Application Programming Interface is a software intermediary that allows programs to interact with each other and share data in limited, clearly defined ways. to create WP_Customize_Settings for dynamically-created settings. [31370] #30936


  • Replace $.post() calls with wp.ajax.post(), and clean up a bunch of the now unnecessary code. [31409] #29820
  • Use a positive wording for translations update notice. [31368] #28199
  • If the current user is not allowed to install/update plugins, we should return a JSONJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. error, so it can be used by the JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. handlers. [31335] #29820
  • Add capability checks to the ajax callbacks, to ensure the current user is allowed to install/update plugins. [31334] #29820
  • Add ajax-y updates to the 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 WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party list page, and ajax-y updates and installs to the plugin card page. [31333] #29820
  • Updates: Display plugin update rows even for plugins which are not hosted by WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ or the HTTPHTTP HTTP is an acronym for Hyper Text Transfer Protocol. HTTP is the underlying protocol used by the World Wide Web and this protocol defines how messages are formatted and transmitted, and what actions Web servers and browsers should take in response to various commands. request times out on. [31382] #29583, #30767


  • oEmbed discovery fails on XHTML head links, adjust the regex to not match /. [31407] #31212


  • Use Math.round() instead of Math.floor() when determining page of attachments to query in wp.media.model.Query.sync. [31406] #31116
  • After [31386], this needs to happen in audio-video.manifest.js. [31387] #31058
  • Avoid an IE8 JS error when removing a MediaElement player. [31386] #31058
  • Makemake A collection of P2 blogs at make.wordpress.org, which are the home to a number of contributor groups, including core development (make/core, formerly "wpdevel"), the UI working group (make/ui), translators (make/polyglots), the theme reviewers (make/themes), resources for plugin authors (make/plugins), and the accessibility working group (make/accessibility). sure that media/views.js doesn’t load Models that already exist in media/models.js. [31379] #28510
  • Split the media JS files into modules using browserify [31373] [31380] [31393] [31405] #28510


  • Replace generic “Dear user” greeting in email notifications with a more personalized one. [31403] #31217
  • Update body class when switching between adminadmin (and super admin) color schemes. [31400] #30488
  • Avoid inadvertent stomping of the original $args parameter passed to plugins_api_result and themes_api_result filters in plugins_api() andthemes_api(), respectively. [31363] #29079


  • Switch to a string placeholder, as number_format_i18n() returns a string. [31402] #26553
  • Use _n() in comments_popup_link() when setting the default string to display if there are more than one comment. [31401] #26553
  • Use screen reader text instead of a title attribute in comments_popup_link. [31388] #26553

TaxonomyTaxonomy A taxonomy is a way to group things together. In WordPress, some common taxonomies are category, link, tag, or post format. https://codex.wordpress.org/Taxonomies#Default_Taxonomies.

  • Don’t parse empty tax_input keys in edit_post(). [31392] #30615
  • Remove unnecessary array_shift() usage in get_terms() for better performance. [31365] #31182
  • Parse non-hierarchical 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.) input into term IDs before sending to wp_insert_post(). [31359] #30615
  • Update the DocBlockdocblock (phpdoc, xref, inline docs) for wp_dropdown_categories() to reflect that the entire $args parameter array is optional instead of individual arguments. [31357] #30306
  • Use field-specific sanitization in WP_Tax_Query::transform_query(). [31346] #27810


  • WPDB: If a site is using the utf8 charset, and their version of MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com/. supports utf8mb4, auto-upgrade them to utf8mb4. [31349] [31351] [31354] [31358] [31391] #21212
  • WPDB: The mysqli_query() call in wpdb::set_charset() had the parameters the wrong way around. [31374]


  • Add orderby=meta_value_num support to WP_User_Query. [31369] #27887
  • Remove leading space from the definition of a global cache group. This only applied in a rare situation during the switch_to_blog() process where no global groups were currently defined. [31348] #31243
  • Add useremail and userslugs as global cache groups. [31347] #31243


  • Editor: prevent errors in editor-expand when the Text editor is not used. [31361] #31163
  • Fix displaying long tag names in the Tags postbox. [31332] #18946
  • MCE views: Always refresh the view after updating a gallery. This allows things like caption changes to be synced, as they are tied to the attachment and not the 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.. [31343] #31239
  • TinyMCE: ensure the image toolbar stays visible when the image is much wider than the editor. [31362] #20696

Build/Test Tools

  • Update Travis-ci Slack notification token [31352] #30755
  • Temporarily (I hope) remove PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 5.2 from tests being run on Travis-ci. Travis-ci has disabled PHP 5.2. This has happened before when 5.2 didn’t compile and then was restored when that was fixed. #31244

Posts & Pages

  • Introduce 'value_field' parameter to wp_dropdown_pages(). This parameter allows developers to choose the post field that will be used to fill in the ‘option’ attribute of the generated dropdown markup. [31338] #30306, #12494
  • Always pass back the custom classes get_post_class() was called with, even if the post was not found. [31408] #22271

Thanks to @adamsilverstein, @afercia, @ArminBraun, @azaozz, @boonebgorges, @bswatson, @Bueltge, @celloexpressions, @ChriCo, @Corphi, @cweiske, @dd32, @dlh, @DrewAPictur, @DrewAPicture, @ericlewis, @F J Kaiser, @Funkatronic, @genkisan, @helen, @hissy, @ipm-frommen, @Ipstenu, @iseulde, @jfarthing84, @joedolso, @johnbillion, @jorbin, @lgladdy, @lgladdy for the initial patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing., @nacin, @netweb, @obenland, @ocean90, @pento, @SergeyBiryukov, @siobhan, @tyxla, @valendesigns, @Veritaserum, @VolodymyrC, @vortfu, @westonruter, and @wonderboymusic for their contributions!

#4-2, #week-in-core