A Week in Core – March 21, 2022

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between March 14 and March 21, 2022.

  • 40 commits
  • 53 contributors
  • 49 tickets created
  • 5 tickets reopened
  • 44 tickets closed

The Core team is currently working on the next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality., WP 5.9.3, and on the next major, WP 6.0 🛠

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.

Code changes

Administration

  • Add a media_date_column_time 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. to the media list table date column – #42942

Code Modernization

  • Rename parameters that use reserved keywords in wp-admin/includes/class-custom-image-header.php#55327

Coding Standards

  • Escape the comment post URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org in _wp_dashboard_recent_comments_row()#54728
  • Remove a one-time $pieces variable in wp-includes/class-wp-*-query.php#54728
  • Rename the $bodyStarted variable to $body_started in WP_Http_Streams::request()#54728
  • Rename the $cat_ID argument to $cat_id in get_the_category_by_ID()#54728
  • Rename the $headerValue variable to $header_value in WP_Http_Streams::request()#54728
  • Rename the $requestPath variable to $request_path in WP_Http_Streams::request()#54728
  • Rename the $strHeaders variable to $headers in WP_Http_Streams::request()#54728
  • Rename the $strResponse variable to $response in WP_Http_Streams::request()#54728
  • Rename the $theBody variable to $body in WP_Http_Curl::request()#54728
  • Simplify some long conditions in wp-includes/class-wp-term-query.php#55352, #54728
  • Use esc_url() instead of esc_attr() for some URLs – #54728
  • Use strict comparison in wp-includes/class-wp-http-curl.php#54728
  • Wrap the $this->request property in wp-includes/class-wp-*-query.php#54728

Comments

  • Disable “close on escape” for inline replies when using an IME – #54548

Docs

  • Add a @since note about Twenty Twenty-Two for WP_Theme::$default_themes#54729
  • Correct variable references in get_category_feed_link() and get_term_feed_link() @return tags – #54729
  • Misc. fixes in wp-includes/post-template.php and wp-includes/post-thumbnail-template.php#54729

Editor

  • Add blockTypes argument to WP_Block_Patterns_Registry::register() docblockdocblock (phpdoc, xref, inline docs)#55303, #54729
  • Fix broken asset URLs when using WP outside of the regular directory – #55311
  • Add WP_Block_Editor_Context::$name – #55301

Formatting

  • Add support for formatting sizes as PB, EB, ZB, and YB – #40875

I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.

  • Don’t register empty localeLocale A locale is a combination of language and regional dialect. Usually locales correspond to countries, as is the case with Portuguese (Portugal) and Portuguese (Brazil). Other examples of locales include Canadian English and U.S. English. data objects – #55250
  • Avoid translating wp_locale strings several times – #54564

KSES

  • Add support for ruby and related elements – #54698
  • Allow lang, xml:lang, dir attributes globally – #54699

Login and Registration

Menus

  • Improve padding on bulk action labels for small screens – #54855

Plugins

  • Convert apply_filters() into a proper variadic function – #53218
  • Move the introduction text from install_dashboard() to display_plugins_table()#55389

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.

  • Consider HTML5 input types when resetting form values after adding a new 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.)#48030
  • Increase cache hits in WP_Term_Query#55352

Tests

  • Include special characters in term names for wp_set_term_objects()#53152, #54725

Themes

  • Add version to theme screenshot URL for better browser cache handling – #53370
  • Add version to theme screenshot URL in WP_Themes_List_Table#53370
  • Allow blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. themes to be activated without index.php#54272
  • Use esc_url() for theme screenshots on the Themes screen – #53370
  • Use pointer when hovering on theme details button – #54971

Users

  • Check maximum length of user_nicename after filters are applied – #54987

Props

Thanks to the 53 people who contributed to WordPress Core on Trac last week: @azouamauriac (9), @SergeyBiryukov (7), @audrasjb (7), @sabernhardt (3), @mukesh27 (3), @ravipatel (2), @andraganescu (2), @poena (2), @Presskopp (2), @kebbet (2), @ryokuhi (2), @upsuper (2), @jrf (2), @sabbirshouvo (1), @rehanali (1), @vlad.olaru (1), @multidots1896 (1), @alkesh7 (1), @talldanwp (1), @gziolo (1), @sumitsingh (1), @scruffian (1), @manfcarlo (1), @overclokk (1), @pgpagely (1), @Mamaduka (1), @kapacity (1), @costdev (1), @jsnajdr (1), @sabbir1991 (1), @justinahinon (1), @rafiahmedd (1), @aristath (1), @davidbaumwald (1), @priyank9033 (1), @pbiron (1), @spacedmonkey (1), @Chouby (1), @henry.wright (1), @muhammadfaizanhaidar (1), @csesumonpro (1), @stevegrunwell (1), @mauriac (1), @desrosj (1), @johnbillion (1), @BettyJJ (1), @alexstine (1), @konradyoast (1), @afercia (1), @ivanlutrov (1), @lopo (1), @codente (1), and @kapilpaul (1).

Congrats and welcome to our 8 new contributors of the week: @upsuper, @alkesh7, @kapacity, @sabbir1991, @csesumonpro, @ivanlutrov, @lopo, @codente ♥️

Core committers: @sergeybiryukov (20), @peterwilsoncc (6), @audrasjb (4), @davidbaumwald (4), @johnbillion (3), @noisysocks (1), @gziolo (1), and @ocean90 (1).

#5-9-3, #6-0, #core, #week-in-core

Devchat summary, March 16, 2022

@marybaum and @webcommsat led the meeting on this agenda.

1. Announcements

A security release, WordPress 5.9.2, landed on Thursday.

ICYMI: @annezazu is co-release leadRelease Lead The community member ultimately responsible for the Release. for 6.0.

There is a bug-scrub schedule for 6.0!

As the group was getting settled, Gutenberg 12.8 landed.

2. Blogblog (versus network, site) posts of note

A Week in Core from @audrasjb

The BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Pattern Directory is testing the submissions process.

The next Gutenberg Developer Hours will happen March 22.

3. Upcoming Releases

(Note: The agenda skipped item 3 and called Upcoming Releases item 4. I correct that here.)

3a) The next major is WordPress 6.0.

Core Tech Lead @peterwilsoncc gave the group this update: A new 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/. channel, #6-0-site-editor-merge, will be the home of discussions about merging the editor into CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Also, feel free to check out the #6-0-release-leads channel, to stay up to date on progress.

Peter also noted that he’s been going through the enhancements milestoned for 6.0 and reviewing the code in patches and pull requests. He could use some help, he said, pointing out that these enhancements are due to commit before BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. 1. (Ed. note: Remember that Beta 1 freezes features and enhancements for the release.)

3b) The next minor is 5.9.3.

@mamaduka and @audrasjb will publish a schedule on Make/Core (that’s this very site) by the end of this week.

JB will also run a 5.9.3 bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrub today, Thursday, March 17, and another on Monday, March 21. Both will be at 20:00 UTC.

4. Open Floor

Open floor started with @jeffpaul asking about the future of the Debug Bar 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. @nalininonstopnewsuk brought up several tickets from the Help/About and Bulk/Quick Edit component bug scrub of Monday. At the top of the hour, @bobbingwide was in lively discussion of another ticketticket Created for both bug reports and feature development on the bug tracker., #13459, with @davidb and @jeffpaul.

#core, #dev-chat, #summary

Devchat agenda, March 16, 2022

Here’s last week’s summary.

1. Announcements

A security release, WordPress 5.9.2, landed on Thursday.

ICYMI: @annezazu is co-release leadRelease Lead The community member ultimately responsible for the Release. for 6.0.

There is a bug-scrub schedule for 6.0!

2. Blogblog (versus network, site) posts of note

A Week in Core from @audrasjb

4. Upcoming releases

The next major is 6.0.

The next minor is 5.9.3.

5. Open Floor

Three tickets emerged from the Bulk Edit and Help/About bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrub of yesterday. They are all several years old, so it would be nice to close them or commit them this cycle.

#42474 has a 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. from @sabernhardt that looks as if it mostly needs testing.

#41833 is apparently still a thorn in the sides of several users, notably our own @webcommsat and @meher. Time to find a way forward?

And on #41494, people in the scrub would like advice from @audrasjb and @costdev, but also the group at large, on how to proceed.

Add your items to the comments!

And see you tomorrow at 20:00 UTC in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. 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/..

#agenda, #core, #dev-chat

Bug Scrub Schedule for 6.0

With 6.0 well underway, it’s time to schedule the 6.0 bugbug A bug is an error or unexpected result. Performance improvements, code optimization, and are considered enhancements, not defects. After feature freeze, only bugs are dealt with, with regressions (adverse changes from the previous version) being the highest priority. scrub sessions. These 6.0 specific ticketticket Created for both bug reports and feature development on the bug tracker. scrubs will happen each week until the final release.

Alpha Scrubs:

Hosted by @costdev

Hosted by @chaion07 (APAC-Friendly)

BetaBeta A pre-release of software that is given out to a large group of users to trial under real conditions. Beta versions have gone through alpha testing in-house and are generally fairly close in look, feel and function to the final product; however, design changes often occur as part of the process. Bug Scrubs
Focus: issues reported from the previous beta.

Hosted by @costdev

Hosted by @chaion07 (APAC-friendly)

Release Candidaterelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta). Bug Scrubs (if needed)
Focus: issues reported from the previous RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta)..

Hosted by @costdev

Hosted by @chaion07 (APAC-Friendly)

Check this schedule often, as it will change to reflect the latest information.

What about recurring component scrubs and triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors. sessions?

For your reference, here are some of the recurring sessions:

  • AccessibilityAccessibility Accessibility (commonly shortened to a11y) refers to the design of products, devices, services, or environments for people with disabilities. The concept of accessible design ensures both “direct access” (i.e. unassisted) and “indirect access” meaning compatibility with a person’s assistive technology (for example, computer screen readers). (https://en.wikipedia.org/wiki/Accessibility) Scrub: Every Friday, 15:00 UTC, in the #accessibility channel.
  • Help/About & Quick / Bulk Edit Scrub: Every Monday, 19:00 UTC, in the #core channel with maintainers @webcommsat, @marybaum, and @nalininonstopnewsuk
  • Testing Scrub: Every Friday, 13:15 UTC, in the #core-test channel.

Have a recurring component scrub or triage session?
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.” @costdev or @chaion07 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/. to have it added to this page.

Want to lead a bug scrub?

Did you know that anyone can lead a bug scrub at any time? Yes, you can!

How? Ping @costdev or @chaion07 on Slack with the day and time you’re considering as well as the report or tickets you want to scrub.

Planning one that’s 6.0-focused? Awesome! It can be added it to the schedule here. You’ll get well deserved props in Dev Chat, as well as in the #props Slack channel!

Where can you find tickets to scrub?

  • Report 5 provides a list of all open 6.0 tickets:
    • Use this list to focus on highest priority tickets first.
    • Use this list to focus on tickets that haven’t received love in a while.
  • Report 6 provides a list of open 6.0 tickets ordered by workflow.

Need a refresher on bug scrubs? Checkout Leading Bug Scrubs in the coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. handbook.

Questions?

Have a question, concern, or suggestion? Want to lead a bug scrub? Please leave a comment or reach out directly to @costdev or @chaion07 on Slack.

Props to: @davidbaumwald for proof-reading.

#6-0, #bug-scrub

A Week in Core – March 14, 2022

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between March 7 and March 14, 2022.

  • 32 commits
  • 69 contributors
  • 61 tickets created
  • 7 tickets reopened
  • 44 tickets closed

Last week, the WordPress Core Team released WordPress 5.9.2, which is a Security and Maintenance update.

The Core team is currently working on the next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality., WP 5.9.3, and on the next major, WP 6.0 🛠

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.

Code changes

Bundled Themes

  • Twenty Nineteen: Display Image blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. at the same size whether the image is linked or not – #48697
  • Twenty Nineteen: avoid columns set to full width to extend beyond editor bounds – #54169
  • Twenty Sixteen: Remove .entry-content selector from button styles – #55167
  • Twenty Thirteen: Add gradient background options using the theme color scheme – #49762
  • Twenty Twenty-One: Reverse logic for prefers-reduced-motion media query – #54174

Build/Test Tools

  • Add trashTrash Trash in WordPress is like the Recycle Bin on your PC or Trash in your Macintosh computer. Users with the proper permission level (administrators and editors) have the ability to delete a post, page, and/or comments. When you delete the item, it is moved to the trash folder where it will remain for 30 days. and restore of a single post e2e tests – #54843

Canonical

  • Check if the URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org scheme exists in strip_fragment_from_url()#55333

Coding Standards

  • Fix minor alignment issue in wp_ajax_install_theme()#54728

Docs

  • Further clarify the description for install_dashboard()#54729
  • Miscellaneous fixes in wp-admin/includes/plugin-install.php and wp-admin/includes/plugin.php#54729
  • Use third-person singular verbs for function descriptions in wp-includes/class-wp-locale.php#54729

Editor

  • Site Editor: Improve Global Styles filtering order
  • Site Editor: Fix typo in the description of the 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.) template – #55374
  • Site Editor: Rename the default attachment template from “Media” to “Attachment” – #55373

External libraries

  • Update jQuery.query to version 2.2.3

Formatting

  • Use safecss_filter_attr in wp_get_layout_style()#55356

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. 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.

  • Fix typo in and improve readability of wp_parse_url() docblockdocblock (phpdoc, xref, inline docs)#55355

I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.

  • Move wp_get_list_item_separator() to a more appropriate place – #39733

Media

  • Add a “Copy URL to clipboard” function to the list table view – #54426
  • Allow wp_check_filetype() to support query strings in URLs – #30377
  • Note ClipboardJS as a global in /js/_enqueues/adminadmin (and super admin)/media.js – #54426
  • Relocate wp_filesize() function for use in frontend and backend. – #55367
  • Revert query string support for wp_check_filetype()#30377
  • Store attachment’s file size in metadata – #49412

Privacy

  • Fix “Retry” action after a personal data export failure – #53032

Quick/Bulk Edit

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

  • Correct the wording for show_in_nav_menus property description in post type visibility settings – #55340

Sitemaps

  • Pass term object to wp_sitemaps_taxonomies_entry 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.#55239

Taxonomy

  • Improve code quality within _prime_term_caches()#55162
  • Only store term_ids and object_ids in WP_Term_Query query caches – #37189
  • Use get_terms instead of a database lookup in term_exists()#36949

i18n

  • Define List item separator as a WP_Locale property – #39733

Props

Thanks to the 69 people who contributed to WordPress Core on Trac last week: @SergeyBiryukov (8), @audrasjb (7), @sabernhardt (4), @dd32 (3), @Spacedmonkey (3), @swissspidy (3), @costdev (3), @johnbillion (2), @peterwilsoncc (2), @flixos90 (2), @boonebgorges (2), @scruffian (2), @adamsilverstein (1), @antpb (1), @joemcgill (1), @azaozz (1), @mehedi890 (1), @desrosj (1), @jeffpaul (1), @johnwatkins0 (1), @Cybr (1), @mukesh27 (1), @kevin940726 (1), @uday17035 (1), @talldanwp (1), @pbearne (1), @gregoiresailland (1), @ryokuhi (1), @pooja1210 (1), @RavanH (1), @pedromendonca (1), @david.binda (1), @azouamauriac (1), @voldemortensen (1), @layotte (1), @atomicjack (1), @supercleanse (1), @spencercameron (1), @justinahinon (1), @alexstine (1), @pavanpatil1 (1), @vortfu (1), @antonvlasenko (1), @rsiddharth (1), @ianbelanger (1), @tomjdevisser (1), @JarretC (1), @mikachan (1), @charleyparkerdesign (1), @smit08 (1), @sclayf1 (1), @grapplerulrich (1), @xknown (1), @sergey (1), @oandregal (1), @webcommsat (1), @get_dave (1), @hellofromTonya (1), @nomnom99 (1), @rafiahmedd (1), @hasanuzzamanshamim (1), @pbiron (1), @ravipatel (1), @spacedmonkey (1), @afercia (1), @jazbek (1), @figureone (1), @ovidiul (1), and @ianmjones (1).

Congrats and welcome to our 6 new contributors of the week: @mehedi890, @uday17035, @gregoiresailland, @tomjdevisser, @charleyparkerdesign, @sclayf1 ♥️

Core committers: @audrasjb (9), @sergeybiryukov (6), @davidbaumwald (6), @peterwilsoncc (4), @hellofromtonya (3), @spacedmonkey (3), and @jorgefilipecosta (1).

#5-9-3, #6-0, #core, #week-in-core

A Week in Core – March 7, 2022

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between February 28 and March 7, 2022.

  • 21 commits
  • 43 contributors
  • 62 tickets created
  • 3 tickets reopened
  • 48 tickets closed

The Core team is currently working on the next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality., WP 5.9.2, and on the next major, WP 6.0 🛠

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.

Code changes

Administration

  • Require a valid action parameter to be set for admin-ajax.php requests – #55212

Bootstrap/Load

  • Stop unnecessary queries when using the do_parse_request 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.#10886

Coding Standards

  • Improve formatting in /wp-admin/user-edit.php#54673

Comments

  • Guard against potential PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher notices in get_comment_author and get_comment_ID#54379

Docs

  • Add a @since note for WP::parse_request() about the new return value – #10886
  • Add inline comments for non-visible characters in sanitize_title_with_dashes()#47912, #54729
  • Correct the indentation in delete_term_relationships filter – #54673
  • Update the DocBlockdocblock (phpdoc, xref, inline docs) for the wpmu_new_blog action to suggest wp_initialize_site as an alternative – #49612
  • Use third-person singular verbs for function descriptions in wp-includes/class-wp-user.php#54729
  • Use third-person singular verbs for function descriptions in wp-includes/formatting.php, per the documentation standards – #54729

External Libraries

  • Upgrade PHPMailer to version 6.6.0 – #55277

General

  • Improve MS Edge user-agent sniffsniff A module for PHP Code Sniffer that analyzes code for a specific problem. Multiple stiffs are combined to create a PHPCS standard. The term is named because it detects code smells, similar to how a dog would "sniff" out food.#55297

I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.

  • Add a $locale parameter for remove_accents()#54415

Media

  • Allow wp_check_filetype() to support query strings in URLs – #30377

Networks and Sites

  • Suggest wp_initialize_site as an alternative for the deprecated wpmu_new_blog action – #49612

Query

  • Make sure WP_Query::get_queried_object() works for author_name before ::get_posts() is run – #55100

Tests

  • Restore the original user role in the (add|remove)_user_role hooksHooks In WordPress theme and development, hooks are functions that can be applied to an action or a Filter in WordPress. Actions are functions performed when a certain event occurs in WordPress. Filters allow you to modify certain functions. Arguments used to hook both filters and actions look the same. test – #54164

Themes

  • Correct the logic for displaying a _doing_it_wrong() notice for add_theme_support( 'html5' )#51657
  • Hide blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. themes’ live preview link following installation – #54878
  • Make sure the current_theme_supports-{$feature} filter is consistently applied – #55219

Users

  • Bring some consistency to user role hooks – #54164

Props

Thanks to the 43 people who contributed to WordPress Core on Trac last week: @SergeyBiryukov (6), @dd32 (6), @costdev (3), @johnbillion (2), @audrasjb (2), @peterwilsoncc (2), @azouamauriac (2), @pbearne (1), @arnee (1), @tyxla (1), @DrewAPicture (1), @lukecavanagh (1), @davidbaumwald (1), @Spacedmonkey (1), @voldemortensen (1), @helgatheviking (1), @pavanpatil1 (1), @sivel (1), @jrf (1), @Synchro (1), @miken32 (1), @malthert (1), @knutsp (1), @wonderboymusic (1), @henry.wright (1), @westi (1), @mukesh27 (1), @layotte (1), @atomicjack (1), @supercleanse (1), @spencercameron (1), @ianmjones (1), @abdullahramzan (1), @Boniu91 (1), @ryan (1), @swissspidy (1), @johnregan3 (1), @antonvlasenko (1), @ironprogrammer (1), @asaquzzaman (1), @MadtownLems (1), @junsuijin (1), and @ocean90 (1).

Congrats and welcome to our 4 new contributors of the week: @pavanpatil1, @supercleanse, @spencercameron, @asaquzzaman ♥️

Core committers: @sergeybiryukov (13), @audrasjb (4), @peterwilsoncc (2), @davidbaumwald (1), and @spacedmonkey (1).

#5-9, #6-0, #core, #week-in-core

A Week in Core – February 28, 2022

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between February 21 and February 28, 2022.

  • 24 commits
  • 46 contributors
  • 66 tickets created
  • 6 tickets reopened
  • 50 tickets closed

Last week, the Core Team rolled out the WordPress 5.9.1 Maintenance Release 🚀

The Core team is currently working on the next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality., WP 5.9.2, and on the next major, WP 6.0 🛠

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.

Code changes

Administration

  • Consistency fixes on keyboard shortcuts instructions – #40582
  • Further enhancements on small text fields after [52649]#50177

Code Modernization

  • Check the return type of wp_parse_url() in wp_mail()#54730

Docs

  • Add missing descriptions for some parameters of WP_Walker::paged_walk()#55225
  • Correct return type for get_block_metadata_i18n_schema()#55243, #54729
  • Correct return type for get_post_custom()#55249, #54729
  • Use third-person singular verbs for function descriptions in wp-includes/formatting.php#54729

External Libraries

  • Upgrade PHPMailer to version 6.6.0 – #55277

Filesystem 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.

  • Include the ssh-ed25519 public key signature algorithm as an alternative to ssh-rsa#52409

Formatting

  • Make terms in wpautop() and shortcode_unautop() more welcoming and inclusive – #25615

I18Ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.

  • Add a $locale parameter for remove_accents()#54415

Media

  • Make get_post_galleries() only return galleries – #55203
  • Stop arrow keys switching media if URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org focused – #43202
  • Use consistent mirroring check in media views – #53856

Plugins

  • Add focus style to 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 icon link in plugin cards – #45209

Query

  • Correct the “matched rule” condition in WP::parse_request()#55222

Query

  • Preinitialize the WP class properties to their default values – #55222

REST APIREST API The REST API is an acronym for the RESTful Application Program Interface (API) that uses HTTP requests to GET, PUT, POST and DELETE data. It is how the front end of an application (think “phone app” or “website”) can communicate with the data store (think “database” or “file system”) https://developer.wordpress.org/rest-api/.

  • Pass WP_REST_Request object to the rest_index 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.. – #48638.

Tests

  • Add a @ticket reference for the current_theme_supports-{$feature} filter test – #54725
  • Rename the $success variable to $result in the wp_mail() test for an empty home URL – #54730

Themes

  • Avoid undefined variable warning on get_svg_filters()#55241
  • Remove the Live Preview link when installing a blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. theme from a zip archive – #54578

Props

Thanks to the 46 people who contributed to WordPress Core on Trac last week: @SergeyBiryukov (7), @audrasjb (5), @hellofromTonya (3), @jrf (2), @afercia (2), @jeremyfelt (2), @ironprogrammer (2), @sabernhardt (2), @dd32 (2), @hasanuzzamanshamim (1), @chouby (1), @bhrugesh12 (1), @jrivett (1), @joemcgill (1), @rafiahmedd (1), @aliakseyenkaihar (1), @TimothyBlynJacobs (1), @hitendra-chopda (1), @themattroyal (1), @imokol (1), @ricomoorman (1), @tzipporahwitty (1), @peterwilsoncc (1), @Viper007Bond (1), @Spacedmonkey (1), @BinaryMoon (1), @johnregan3 (1), @richybkreckel (1), @miken32 (1), @malthert (1), @johnbillion (1), @knutsp (1), @ocean90 (1), @Presskopp (1), @joyously (1), @MMDeveloper (1), @glendaviesnz (1), @alanjacobmathew (1), @antonvlasenko (1), @kebbet (1), @pyrobd (1), @dennisatyoast (1), @azouamauriac (1), @Synchro (1), @costdev (1), and @rmccue (1).

Congrats and welcome to our 10 (!) new contributors of the week: @bhrugesh12, @jrivett, @aliakseyenkaihar, @themattroyal, @imokol, @ricomoorman, @tzipporahwitty, @richybkreckel, @miken32, and @dennisatyoast ♥️

Core committers: @sergeybiryukov (10), @audrasjb (10), @joedolson (2), @spacedmonkey (1), and @hellofromtonya (1).

#5-9, #6-0, #core, #week-in-core

Feature Project: Plugin Dependencies

Problem

This feature project began as part of Outcome 4 of Updating the Updaters.

Any 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 that requires another plugin (i.e., a dependency) is on its own to make sure admins install the dependency. After all, the plugin will not work without it. But with more than 55,000 plugins in the repository, that means there are potentially 55,000 plugins capable of resolving the dependency.

It would be a lot simpler for users and admins, and plugin developers, if there were a consistent way to handle dependencies in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Among other things, that approach would entail a clear method of determining when a plugin needs a dependency and what that dependency is.

Improving the plugin experience.

There’s a whole categoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. of plugins that are designed from the ground up to add new abilities to other plugins. Think of shipping and other add-ons for commerce plugins, and one-click checkout for event plugins that sell tickets.

The situation there is a lot like the relationship between parent and child themes. Without their relationships to the bigger plugin, those dependent plugins can do very little. As noted above, every plugin developer is on their own to code a solution to resolve the issue. And, as noted above, the single most common example is WooCommerce, which is a dependency for hundreds, if not thousands, of WooCommerce add-on plugins. 

What’s more, this is not a new problem. Across the WordPress ecosystem, people have been looking at it for at least nine years—starting with #22316.

The original scope listed in #22136 was the following.

  • Plugins list WP.org slugs of their dependencies in their readme.txt, or perhaps better their plugin’s headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes..
  • When you go to install a plugin via the plugin directory UIUI User interface in the adminadmin (and super admin) area, the WP.org 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. returns a list of dependencies along with the data about the plugin being installed. WP would say like “these following dependencies will also be installed”. This means it’s seamless to the user — they install a plugin and the other plugin(s) that are needed get installed too.
  • No versioning support. It’s too complicated and what if one plugin wants an older version of a dependency than another plugin does? If your plugin is listing another as a dependency, then it’s your job to make sure it stays compatible with the latest version of the dependency. On the flip side, hopefully plugins that get listed as dependencies are made to be forwards and backwards compatible.
  • Probably not allowing the disabling of plugins that are dependencies while their dependents are active. This seems better than disabling the dependents when the dependency is disabled (“why did Foo get disabled? I only disabled Bar!”).
  • On plugin re-activation or on activation of a plugin uploaded via FTPFTP FTP is an acronym for File Transfer Protocol which is a way of moving computer files from one computer to another via the Internet. You can use software, known as a FTP client, to upload files to a server for a WordPress website. https://codex.wordpress.org/FTP_Clients., make sure it’s dependencies are already installed. If not, offer to install them. If installed but disabled, just enable them for the user.

The last bullet point implies automatic installation and/or activation, after previous discussions, it was thought this should be discouraged in the name of preventing a very jarring user experience.

Fundamentally there should be a simple, clear method for identifying and installing plugin dependencies. Any plugin that requires a dependency should degrade gracefully if that dependency is not present. This is the responsibility of the plugin developer.

Design/Discovery

There are hundreds of comments, ideas, and decisions that have been discussed on #22316 and on some of the PRs below. I will attempt to summarize.

  • This is not an attempt to create a plugin package manager.
  • This is not an attempt to integrate Composer into WordPress or use Composer.
  • The agreed upon interface is via a plugin header, Requires Plugins, containing a comma-separated list of plugin slugs.
  • The most agreed upon UI for notifying users of a missing dependency requirement is via an admin notice.
  • There is no attempt at version controlversion control A version control system keeps track of the source code and revisions to the source code. WordPress uses Subversion (SVN) for version control, with Git mirrors for most repositories.. The current plugin version in the dot org repository will be used.
  • There is no automatic installation or activation of the dependent plugin.
  • If the dependency requirements are not met, the requiring plugin cannot be activated.
  • Dependencies outside of the dot org repository are not supported. Out of scope at this time.
  • This is only for plugin dependencies that are required not recommended.
  • Plugin dependencies for themes is out of scope at this time.

Current Suggested Solutions

There are currently two approaches to handling plugin dependencies.

Similarities

  • Both use a plugin header, Requires Plugins, that contains the plugin dependencies within a comma-separated list of dot org plugin slugs.
  • Both show the user an admin notice if there are plugin dependencies should be installed.
  • Users must actively install and activate the dependencies.
  • Users will find they cannot delete or deactivate installed and activated plugin dependencies without deleting or deactivating the plugin that requires the dependency.
  • Relevant messaging in the dependency plugin row of the plugins page. (Formatting differs between approaches)
  • Neither approach makes any attempt at dependency version control. Most recent version of dependency from dot org is used.

Differences

The differences in the two approaches are subtle, but they do exist.

Current PRs

Approach 1

https://github.com/WordPress/wordpress-develop/pull/1547

  • Shows an admin notice for each plugin dependency to both inform the user of the dependency and lets the user install/activate with a click.
  • Plugins with unmet dependencies do not get activated; they go into an activation queue. Once dependencies are met the plugin is activated. 
  • Users can cancel activation requests for plugins with dependencies. Messaging added as an additional element to the plugin row.

Screenshots from PR

I hope the screenshots are representative of the PR. If not, it is entirely my fault (@afragen)

Approach 2

https://github.com/WordPress/wordpress-develop/pull/1724

  • A single admin notice alerts the user to unmet dependencies in any plugin. If multiple plugins have dependency problems, the notice compiles all the notices in one place. This notice persists until all dependencies have been installed. 
  • Adds dependencies using a new view/tab/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. on the plugins-install.php page.
  • On the plugin card, shows which plugins require which dependencies.
  • Once a particular dependency is installed, shows a list of plugins that require it at the end of the plugin’s description in the plugin row.
  • Adds relevant messaging to the plugin’s description.
  • Automatically deactivates any plugin that has unmet dependencies and informs the user in an admin notice. 
  • Lets the user deactivate or delete a dependency if the requiring plugin is not active.
  • Install the Plugin Dependencies Tab plugin as a possible feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins..

Some of the screenshots below may be slightly outdated.

Screenshots from PR

When attempting to activate a plugin with unmet dependencies.
Dependencies tab info

Further Discussion

Pertinent discussions about the best way to implement this are still needed. It doesn’t have to be one of the above approaches, but they are certainly starting points.

Thanks to @peterwilsoncc, @aristath, @audrasjb, @karmatosed, @costdev for assistance along the way. Thanks @marybaum, @bph for editing assistance.

Special thanks to @francina for the initial nudge.

#core, #feature-plugins, #feature-projects

A Week in Core – February 21, 2022

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between February 14 and February 21, 2022.

  • 33 commits
  • 48 contributors
  • 57 tickets created
  • 20 tickets reopened
  • 70 tickets closed

The Core team is currently working on the next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality., WP 5.9.1, and on the next major, WP 6.0 🛠

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.

Code changes

Administration

  • Fix a CSSCSS Cascading Style Sheets. issue on the Welcome Panel when the “Dashboard” heading is missing – #54977

Bundled Themes

  • Twenty Seventeen: Remove bottom border (box-shadow) from linked images – #55141
  • Twenty Twenty-One: Allow editor styles to control blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. margins – #54250
  • Twenty Twenty-Two: Bump theme version to 1.1 – #55056

Cache 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.

  • Add wp_cache_flush_runtime function – #55080

Coding Standards

  • Rename some variables in iis7_add_rewrite_rule() for consistency – #54728

Docs

  • Correct parameter types for data_wp_validate_boolean()#54725, #54729
  • Fix typo in TracTickets::isTracTicketClosed() description – #54729
  • Improve some DocBlocks in wp_validate_boolean() tests for consistency – #54725, #54729
  • Use third-person singular verbs in some test descriptions in phpunit/tests/functions/#54725

Editor

  • Adds an additional check to guard against incompete presets – #55161
  • Automatically apply global styles duotone filters to render in post editor – #55190
  • Backportbackport A port is when code from one branch (or trunk) is merged into another branch or trunk. Some changes in WordPress point releases are the result of backporting code from trunk to the release branch. Duotone fixes for 5.9.1 – #55179
  • Grant only admins access to the “Navigation Menus” UIUI User interface for block and non-block themes – #54889
  • Prevent front-end assets of a block from being enqueued in the block editor – #55151
  • Update block editor packages for WordPress 5.9.1 – #55179
  • Fix PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher warning in WP_REST_Global_Styles_Controller if no styles exist – #54900
  • Load the global styles before the theme styles in the editor – #55188

External Libraries

  • Update random_compat to version 2.0.21 – #55181
  • Upgrade PHPMailer to version 6.5.4 – #55187

Filesystem API

  • Use a temp folder for Content-Disposition files – #55109

Networks and Sites

  • Remove unnecessary commented code from remove_user_from_blog()#55170

Script Loader

  • Improvements to the load block support styles mechanism – #55148
  • Load block support styles in the head for block themes – #55148
  • Load block themes styles in the head section – #55148
  • Prevent normalizing data URIs in _wp_normalize_relative_css_links()#54243, #55177

Tests

  • Convert _wp_to_kebab_case() tests to use a data provider – #54725
  • Correct the @ticket reference in a download_url() test with the Content-Disposition headerHeader The header of your site is typically the first thing people will experience. The masthead or header art located across the top of your page is part of the look and feel of your website. It can influence a visitor’s opinion about your content and you/ your organization’s brand. It may also look different on different screen sizes.#55109
  • Correct the order of expected and actual values in get_status_header_desc() tests – #54725
  • Correct the order of expected and actual values in wp_array_slice_assoc() tests – #54725
  • Correct the order of expected and actual values in wp_validate_boolean() tests – #54725

Themes

  • Allow extending WP_Theme_JSON and WP_Theme_JSON_Resolver classes – #55178, #55179

Widgets

  • Missing markup from Widgets Group block – #55072

Props

Thanks to the 41 people who contributed to WordPress Core on Trac last week: @oandregal (6), @azouamauriac (4), @jrf (3), @SergeyBiryukov (3), @ironprogrammer (3), @Mamaduka (3), @sabernhardt (2), @nidhidhandhukiya (2), @swissspidy (2), @aristath (2), @ntsekouras (2), @noisysocks (2), @scruffian (2), @audrasjb (2), @wpsoul (1), @youknowriad (1), @paragoninitiativeenterprises (1), @hellofromtonya (1), @mikachan (1), @peterwilsoncc (1), @kapilpaul (1), @Faison (1), @critterverse (1), @rolfsiebers (1), @antonynz (1), @gziolo (1), @ocean90 (1), @stacimc (1), @mukesh27 (1), @hellofromTonya (1), @Synchro (1), @ajlende (1), @rafiahmedd (1), @Spacedmonkey (1), @tillkruess (1), @flixos90 (1), @adamsilverstein (1), @barryhughes (1), @abhanonstopnewsuk (1), @staatic (1), @jeherve (1), @sergeybiryukov (1), @costdev (1), @talldanwp (1), @petaryoast (1), @manfcarlo (1), @pyrobd (1), and @Boniu91 (1).

Congrats and welcome to our 5 new contributors of the week: @rolfsiebers, @antonynz, @barryhughes, @staatic, @pyrobd ♥️

Core committers: @sergeybiryukov (13), @audrasjb (9), @jorgefilipecosta (4), @hellofromtonya (3), @ocean90 (2), @spacedmonkey (1), and @clorith (1).

#5-9-1, #6-0, #core, #week-in-core

A Week in Core – February 14, 2022

Welcome back to a new issue of Week in CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.. Let’s take a look at what changed on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between February 7 and February 14, 2022.

  • 31 commits
  • 41 contributors
  • 62 tickets created
  • 10 tickets reopened
  • 54 tickets closed

The Core team is currently working on the next minor releaseMinor Release A set of releases or versions having the same minor version number may be collectively referred to as .x , for example version 5.2.x to refer to versions 5.2, 5.2.1, 5.2.3, and all other versions in the 5.2 (five dot two) branch of that software. Minor Releases often make improvements to existing features and functionality., WP 5.9.1, and on the next major, WP 6.0 🛠

Ticketticket Created for both bug reports and feature development on the bug tracker. numbers are based on the Trac timeline for the period above. The following is a summary of commits, organized by component and/or focus.

Code changes

Bundled Themes

  • Twenty Fifteen: Add gradient background options using the theme color scheme – #49760
  • Twenty Twelve: Typo correction a bundled pattern – #55099
  • Twenty Twenty-One: Allow editor styles to control blockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. margins – #54250
  • Twenty Twenty-Two: Restore custom padding for group blocks with a background color – #55103, #54944

Cache 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.

  • Reorder object cache functions and methods for consistency – #54728, #54574
  • Add wp_cache_*_multiple functionsFixes – #54574
  • Use wp_cache_*_multiple() in core functions – #55029

Code Modernization

  • Use file_get_contents() in get_file_data()#55069
  • Use file_get_contents() in wp_get_image_mime()#55069
  • Use file_get_contents() in wp_get_webp_info()#55069
  • Use stream_get_contents() in POMO_FileReader::read_all()#55069

Coding Standards

  • Fix WPCSWordPress Coding Standards A collection of PHP_CodeSniffer rules (sniffs) to validate code developed for WordPress. It ensures code quality and adherence to coding conventions, especially the official standards for WordPress Core. issues in wp-admin/includes/misc.php#54728
  • Remove unnecessary try/catch block in wp_get_webp_info()#54728
  • Rename $r variable to $args for clarity in walk_nav_menu_tree()#54728
  • Rename $r variable to $args for clarity in walk_page_tree()#54728
  • Rename the $profileuser variable to $profile_user in wp-admin/user-edit.php#54728
  • Use strict comparison in wp-admin/user-edit.php#54728

Docs

  • Correct @since 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.) for wp_cache_reset()#54729
  • Correct the suggested alternative for the deprecated wp_cache_reset() function – #54729
  • Fix an error in wp_kses_attr() docblockdocblock (phpdoc, xref, inline docs)#54729
  • Fix typo in a comment in wp_get_image_mime()#55154
  • Improve @return tags for wp_cache_*_multiple() functions – #54729, #54574
  • Typo correction in class-wp-theme-json docblocks – #54729
  • Update DocBlocks for some object cache functions per the documentation standards – #54729, #54574

I18ni18n Internationalization, or the act of writing and preparing code to be fully translatable into other languages. Also see localization. Often written with a lowercase i so it is not confused with a lowercase L or the numeral 1. Often an acquired skill.

  • Standardize the script paths for blocks – #54797

Media

  • Display an error message in grid view if the attachment could not be deleted – #55158

Options

  • Disable transients while installing – #54849

Posts, Post Types

  • Pass the $update parameter to wp_insert_post_data and wp_insert_attachment_data filters – #46228

Query

  • Check if the theme supports block-templates before calling locate_block_template() in get_query_template()#54844

Script Loader

  • Prevent normalizing HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. IDs in _wp_normalize_relative_css_links()#54922

Tests

  • Remove some extra wp_cache_set() calls from wp_cache_set_multiple() test – #54574

Props

Thanks to the 41 people who contributed to WordPress Core on Trac last week: @SergeyBiryukov (4), @maxkellermann (4), @audrasjb (4), @azouamauriac (3), @costdev (3), @mukesh27 (3), @flixos90 (2), @mitogh (2), @kebbet (2), @spacedmonkey (2), @adamsilverstein (2), @kapilpaul (2), @rafiahmedd (2), @tnolte (1), @dd32 (1), @mahype (1), @stacimc (1), @noisysocks (1), @antonvlasenko (1), @dolphingg (1), @peterwilsoncc (1), @nhadsall (1), @tobifjellner (1), @kjellr (1), @madeinua (1), @tillkruess (1), @manfcarlo (1), @Mamaduka (1), @ianatkins (1), @johnbillion (1), @Rahe (1), @pbearne (1), @Boniu91 (1), @dilipbheda (1), @pls78 (1), @itsamoreh (1), @ianbelanger (1), @nidhidhandhukiya (1), @ironprogrammer (1), @aristath (1), and @uzumymw (1).

Congrats and welcome to our 8 new contributors of the week: @maxkellermann, @mahype, @dolphingg, @nhadsall, @madeinua, @pls78, @nidhidhandhukiya, @uzumymw ♥️

Core committers: @sergeybiryukov (19), @audrasjb (8), @spacedmonkey (2), @gziolo (1), and @peterwilsoncc (1).

#5-9-1, #6-0, #core, #week-in-core