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
bodyinstead of thehtmlelement. [37321] #35314
Build/Test Tools
- Include
npm prunein thebefore_scriptcommand.npm pruneremoves extraneous packages so the cache contains only current modules. [37340] #36490 - Document
WP_UnitTestCase->go_to()[37319] #36679
Comments
date_queryshould be a property onWP_Comment_Queryobjects, nstead of a local variable. [37354] #36741- Realign parameter documentation in the DocBlocks for
comment_author_email_link()andget_comment_author_email_link(). Also adds a missing return description forget_comment_author_email_link(). [37349] #36571 - Adjust
comment_author_email_link()andget_comment_author_email_link()to each accept a new optional fourth parameter,$comment, which enables overriding the$commentglobal. 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
$commenttocomment_text()inWalker_Comment::comment()instead of using a function which can skip the cache. [37325] #35433
Customize
- Handle filtering
sidebars_widgetswhen the underlying option is non-existent. See #36389. Fixes #36660. [37352] #36389, #36660 - Pass
WP_Customize_Settinginstance as second argument tocustomize_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_Widgetto clarify which methods “should” vs “must” be overridden by extending sub-classes. [37343] #36703 - Remove inline
@seetags 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
::forClass::method()references inWP_Customize_Controlinline docs. [37337] #32246 - Document the
@returnvalue ofwp_add_trashed_suffix_to_post_name_for_post(). [37334] #36728
Links
- Rename the
$link_idparameter inget_link_to_edit()to$linkto better reflect that it can accept a link ID or object. [37353] #36736 - Clarify documentation for the
$link_idparameter 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 towp_register_plugin_realpath(). [37331] #36709
Posts
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
- Add the
pre_get_blogs_of_userfilter. [37326] #31746, #36707 - Prevent spammy users from resetting their passwords in multisite [37317] #24617
- Provide a full user object when checking for a spammy multisite user. [37316] #36546
- Correct inline docs for cookie expiration. [37315] #35568
Widgets
- Provide PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher 5.2 fallback for
spl_object_hash()if disabled in logic for registering and unregistering pre-instantiated widgets. [37333] #28216 - Allow
WP_Widgetsubclass instances (objects) to be registered/unregistered in addition toWP_Widgetsubclass 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!