A Week in Core – May 22, 2023

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 May 8 and May 22, 2023 (sorry for not being able to publish a post last week, this one will cover two weeks!).

  • 48 commits
  • 87 contributors
  • 108 tickets created
  • 10 tickets reopened
  • 79 tickets closed

Also, WordPress 6.2.1 and 6.2.2 maintenance and security releases went out!

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 missing escaping for CSSCSS Cascading Style Sheets. classes on the body 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.) in the adminadmin (and super admin)#58336

Build/Test Tools

  • Call wp_cache_flush_runtime in WP_UnitTestCase. – #31463
  • Move wp_cache_flush_runtime() next to wp_cache_flush()#57841
  • Partial revert of r55745 – #57841
  • Remove expectation of a deprecation notice from WP_Posts_List_Table tests – #58157
  • Split the tests from user/author.php into individual test classes – #57841
  • Use the function get_num_queries across all unit tests – #57841

Code Modernization

  • Correct fallback return value in get_the_author()#58157
  • Explicitly declare all properties in Text_Diff_Engine_native#58298

Coding Standards

  • Use esc_url() to escape link URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org value in wp-admin/edit-link-form.php#58282

Comments

  • Always lazily load comment metaMeta Meta is a term that refers to the inside workings of a group. For us, this is the team that works on internal WordPress sites like WordCamp Central and Make WordPress.#57801

Docs

  • A host of corrections and improvements to inline documentation – #57840
  • Clarify @param types on get_sample_permalink_html 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.#58322
  • Correct default value for the $optimize option in Style Engine – #57840
  • Fix a few more typos in DocBlocks – #57840
  • Fix a few more typos in DocBlocks and inline comments – #57840
  • Fix a few more typos in inline comments – #58334, #57840
  • Fix typo in a comment in Bulk_Upgrader_Skin::header() and ::footer()#58334
  • Improve HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. 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. file and class headers per the documentation standards – #57840
  • Improve Style Engine DocBlocks per the documentation standards – #57840
  • Improve Style Engine file and class headers per the documentation standards – #57840
  • Improve a few DocBlocks in wp-includes/formatting.php#58316
  • Update code examples formatting in WP_HTML_Tag_Processor documentation – #58028
  • Various corrections and improvements to inline docsinline docs (phpdoc, docblock, xref) and docblocks – #57840
  • describe return type of _get_block_template_file()#57756

Editor

  • Disable lazy loading term meta in get_block_templates#58230
  • Ensure 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. comments are of a valid form
  • Remove 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. support from block templates
  • Restore shortcode support for block templates – #58333
  • Update block editor packages to the latest 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. releases – #58274

Embeds

  • Add protocol validation for WordPress Embed code

General

  • Remove a few is_object() checks followed by instanceof operator – #58309
  • Use static on closures whenever $this is not used to avoid memory leaks – #58323

Help/About

  • Remove unwanted space in a link located on about.php#58373

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.

  • Introduce sanitization function for 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.
  • Replace “Roll back” with “Restore” in user facing strings – #58282

Media

  • Conditionally skip lazy-loading on images before the loopLoop The Loop is PHP code used by WordPress to display posts. Using The Loop, WordPress processes each post to be displayed on the current page, and formats it according to how it matches specified criteria within The Loop tags. Any HTML or PHP code in the Loop will be processed on each post. https://codex.wordpress.org/The_Loop. to improve LCP performance – #58211
  • Increase default for wp_omit_loading_attr_threshold to 3 – #58213
  • Introduce wp_get_attachment_image_context filter – #58212
  • Prevent CSRF setting attachment thumbnails
  • Prevent special images within post content to skew image counts and cause lazy-loading bugs – #58089

Networks and Sites

  • Lazy load site meta – #58185
  • Load WP_Metadata_Lazyloader class file if class does not exist – #58185
  • Load WP_Metadata_Lazyloader class file if class in meta.php – #58185

Plugins

  • Remove is_object() check in WP_Hook:build_preinitialized_hooks()#58290

Posts, Post Types

  • Add a new filter for query arguments in get_pages#12821

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.

  • Add edit link functionality for the wp_template and wp_template_part post types – #57709

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.

  • Do not prime term meta in wp_get_object_terms#57701

Props

Thanks to the 87 people who contributed to WordPress Core on Trac last week: @spacedmonkey (15), @peterwilsoncc (10), @costdev (10), @mukesh27 (9), @xknown (6), @flixos90 (6), @sergeybiryukov (5), @westonruter (5), @johnbillion (5), @thekt12 (4), @audrasjb (4), @youknowriad (4), @jrf (4), @davidbaumwald (3), @timothyblynjacobs (3), @isabel_brison (3), @dd32 (3), @antpb (3), @Presskopp (3), @talldanwp (2), @andraganescu (2), @ntsekouras (2), @ocean90 (2), @NekoJonez (2), @oandregal (2), @matveb (2), @rmccue (2), @desrosj (2), @aristath (1), @johnjamesjacoby (1), @antonvlasenko (1), @ramonopoly (1), @ironprogrammer (1), @annezazu (1), @wonderboymusic (1), @boonebgorges (1), @voldemortensen (1), @DrewAPicture (1), @tillkruess (1), @mamaduka (1), @wildworks (1), @mdxfr (1), @hellofromtonya (1), @kebbet (1), @mattwiebe (1), @bph (1), @ndiego (1), @joen (1), @ellatrix (1), @kevin940726 (1), @andrewserong (1), @welcher (1), @juanmaguitar (1), @coffee2code (1), @azaozz (1), @bor0 (1), @thomask (1), @dilipbheda (1), @marianne38 (1), @mikeschroder (1), @ehtis (1), @jorbin (1), @gziolo (1), @chriscct7 (1), @Otto42 (1), @ryelle (1), @joedolson (1), @Clorith (1), @kamplugins (1), @afragen (1), @apermo (1), @kenwins (1), @noisysocks (1), @zunaid321 (1), @martinkrcho (1), @paulkevan (1), @ahsannayem (1), @rutviksavsani (1), @Enchiridion (1), @sumitbagthariya16 (1), @Soean (1), @sabernhardt (1), @salvoaranzulla (1), @ebai4 (1), @sajjad67 (1), @tijmensmit (1), and @dmsnell (1).

Congrats and welcome to our 5 new contributors of the week: @marianne38, @ahsannayem, @rutviksavsani, @ebai4, @tijmensmit ♥️

Core committers: @sergeybiryukov (17), @audrasjb (10), @spacedmonkey (9), @flixos90 (4), @johnbillion (2), @desrosj (1), @westonruter (1), @oandregal (1), and @davidbaumwald (1).

#6-3, #core, #week-in-core