Week in Core, April 26 – May 3 2016

Welcome back the latest issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., covering changes [37314-37354]. Here are the highlights:

  • 40 commits
  • 33 contributors
  • 78 tickets created
  • 8 tickets reopened
  • 70 tickets closed

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers based on trac timeline for the period above.

Code Changes

Administration

  • improve the Star Ratings hiding empty elements for assistive technologies. [37330] #36725
  • This 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. assigns the background color to body instead of the html element. [37321] #35314

Build/Test Tools

  • Include npm prune in the before_script command. npm prune removes extraneous packages so the cache contains only current modules. [37340] #36490
  • Document WP_UnitTestCase->go_to() [37319] #36679

Comments

  • date_query should be a property on WP_Comment_Query objects, nstead of a local variable. [37354] #36741
  • Realign parameter documentation in the DocBlocks for comment_author_email_link() and get_comment_author_email_link(). Also adds a missing return description for get_comment_author_email_link(). [37349] #36571
  • Adjust comment_author_email_link() and get_comment_author_email_link() to each accept a new optional fourth parameter, $comment, which enables overriding the $comment global. Adds tests. [37348] #36571
  • Display the comment counts in wp_dashboard_right_now() in the rare initial condition when there are 0 approved comments and only pending comments, so the AJAX count update could work. [37335] #35519
  • Pass $comment to comment_text() in Walker_Comment::comment() instead of using a function which can skip the cache. [37325] #35433

Customize

  • Handle filtering sidebars_widgets when the underlying option is non-existent. See #36389. Fixes #36660. [37352] #36389, #36660
  • Pass WP_Customize_Setting instance as second argument to customize_value_{$id_base} filterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/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.. [37350] #36452
  • Allow Esc key to collapse the currently-expanded panel, section (or control). [37347] #22237
  • Ensure settings modified during an open save request remain dirty when save request completes. [37346] #32941
  • Increase the target size of the expand/collapse button in the 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.. [37341] #36093
  • Don’t auto-close the customizer when a new theme is activated. [37339] #35320
  • Remove format placeholders from 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. templates and selectors, fixing a jQuery selector syntax error and the broken highlight/shift-click behaviors. [37322] #36473

Database

  • Set 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/. connection collation. [37320] #36649

Docs

  • Improve the class DocBlockdocblock (phpdoc, xref, inline docs) for WP_Widget to clarify which methods “should” vs “must” be overridden by extending sub-classes. [37343] #36703
  • Remove inline @see tags from function, class, and method references in inline docsinline docs (phpdoc, docblock, xref). [37342] #32246
  • Add backtick escaping for two inline code samples in docs. [37338] #32246
  • Standardize on using :: for Class::method() references in WP_Customize_Control inline docs. [37337] #32246
  • Document the @return value of wp_add_trashed_suffix_to_post_name_for_post(). [37334] #36728

Links

  • Rename the $link_id parameter in get_link_to_edit() to $link to better reflect that it can accept a link ID or object. [37353] #36736
  • Clarify documentation for the $link_id parameter to mention that it accepts either an integer or object. [37351] #36736

Plugins

  • In plugin_basename() normalize the file path before unresolving symlinks. [37332] #29154
  • In uninstall_plugin() pass 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 file to wp_register_plugin_realpath(). [37331] #36709

Posts

  • Allow get_page_uri() to be called without a $page argument. [37345] #26284

Query

Tests

  • Ensure that image sizes are indeed removed when errors are raised before assertions in Tests_Media. [37328] #36588
  • Ensure that the GD absrtraction is used for GD unit tests for Images. [37327] #36588
  • Remove debug cruft left over from [34816]. [37344] #17078
  • Reduce unnecessary count in create_many() in multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site user tests. [37318] #36566

Themes

Users

Widgets

  • Provide PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 5.2 fallback for spl_object_hash() if disabled in logic for registering and unregistering pre-instantiated widgets. [37333] #28216
  • Allow WP_Widget subclass instances (objects) to be registered/unregistered in addition to WP_Widget subclass names (strings). [37329] #35990, #28216
  • When the Inactive Widgets section is hidden also hide the “Clear Inactive Widgets” button description text. [37323] #35592

Props

Thanks to @afercia, @andy, @boonebgorges, @celloexpressions, @chandrapatel, @DrewAPicture, @ericlewis, @flixos90, @flyingdr, @Frank-Klein, @jdgrimes, @jeremyfelt, @jsternberg, @kjbenk, @martinkrcho, @mdwheele, @michaelarestad, @netweb, @ocean90, @PeterRKnight, @pollett, @purcebr, @r-a-y, @rachelbaker, @SergeyBiryukov, @Shelob9, @tloureiro, @voldemortensen, @vortfu, @websupporter, @welcher, @westonruter, and @wonderboymusic for their contributions!

#4-6, #week-in-core