Welcome back to a new issue of Week in Core 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 Trac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. between September 19 and September 26, 2022.
- 110 commits
- 173 contributors
- 66 tickets created
- 13 tickets reopened
- 91 tickets closed
The Core team is currently working on the next major release A release, identified by the first two numbers (3.6), which is the focus of a full release cycle and feature development. WordPress uses decimaling count for major release versions, so 2.8, 2.9, 3.0, and 3.1 are sequential and comparable in scope., WP 6.1 🛠 Last week, we entered the beta 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. cycle, with the release of WP 6.1 beta 1 🚀
Ticket 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 new
get_views_links
method to WP_List_Table
– #42066
- Allow to wrap Settings sections with custom HTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. content – #17851
Bootstrap/Load
- Confirm the value of
WP_ENVIRONMENT_TYPE
before using – #55741
- Introduce
is_*_admin_screen()
aliases for is_*_admin()
function family – #56400
- Send HTTP 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. headers after querying posts in
WP::main()
– #56068
Build/Test Tools
- Enable debugging when rerunning a failed workflow – #56407
- Increase the timeout value for MacOS jobs – #55652
- Remove unnecessary
--no-interaction
option from Composer commands – #54695
- Temporarily allow the NPM testing workflow to fail – #56615
- Test building WordPress to run from
src
first – #55652
- Update NPM dependencies in default themes – #56641
- Update NPM dependencies in default themes, part 2 – #56641
- Update NPM dependencies to their latest versions – #56641
- Improve how combined assets are generated – #56615
Bundled Themes
- Import Twenty Twenty-Three, the new default theme for WordPress 6.1 – #56383
- Twenty Twenty-One: Add a missing HTML comment for Customizer 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. notice control – #55725
- Twenty Twenty-Three: Bug fixes and improvements for beta 2 – #56383
- Twenty Twenty: Ensure the fallback fonts is applied to all content elements for non-latin languages – #56396
Chore
- Run browserslits update – #56467
Code Modernization
- Fix null to non-nullable deprecation in
WP_REST_Users_Controller::update_item()
– #55656
Coding Standards
- Applying an alignment fix from running
composer format
– #56467
- Correct alignment in
WP_Theme_JSON_Resolver::get_core_data()
– #55647
- Move
WP_List_Table::get_views_links()
to a more appropriate place – #42066
- Remove extra space in REST 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/. plugins controller test class – #56629
- Rename WordPress Dependencies API 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. class files – #37861, #55647
- Replace double quote with single quote in
test_if_failed_update()
– #55758
- Various alignment fixes from
composer format
– #39210, #55443, #56288, #56092, #56408, #56467, #55881
Cron API
- Add error logging and hooks 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. to
wp-cron.php
– #56048
Date/Time
- Correct sanitization of
timezone_string
in sanitize_option()
– #56468 – #53404
- Correct sanitization of localized default
timezone_string
in populate_options()
– #56468
- Correct timezone dropdown list creation in
wp_timezone_choice()
– #56468
- Minor tweak to support deprecated timezones on General Settings screen – #56468
Docs
- Correct
@see
reference to deprecated_function_run
in the _deprecated_function
docblock (phpdoc, xref, inline docs) – #56625
- Correct the wording in
wp_lostpassword_url()
description – #55646
- Fix
prev_text
and next_text
parameters type in paginate_links()
– #56622, #55646
- Fix
wp_get_layout_style()
parameter documentation – #55646
- Increase the specificity of various property documentation – #55646
- Remove a change that needs to instead be applied in the Gutenberg The Gutenberg project is the new Editor Interface for WordPress. The editor improves the process and experience of creating new content, making writing rich content much simpler. It uses ‘blocks’ to add richness rather than shortcodes, custom HTML etc. https://wordpress.org/gutenberg/ repo – #55646
- Typo correction in
_load_textdomain_just_in_time()
docblock – #55646
- Updates and corrections to various inline docs (phpdoc, docblock, xref) added in 6.1 – #55646
- Use typed array notation for the
$locales
parameter in plugin 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 update filters – #55646
- Various improvements and corrections to inline docs – #55646
Editor
- Remove repetitive calls to
file_get_contents()
in block 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. editor settings – #56637
- Remove duplicate use of
realpath()
in register_block_style_handle()
– #56636
- Add
box-shadow
support for blocks through theme.json
files – #56467
- Add has_archive property to the post types REST endpoint – #56467
- Add post types property to wp-rest-block-patterns-controller.php – #56467
- Adds template types,
is_wp_suggestion
, and fallback template content – #56467
- Backport 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. block supports (border, color, elements, spacing) from Gutenberg to WP 6.1 – #56467
- Backport block supports filter 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. callback, registrations and tests to 6.1 – #56467
- Backport hooks to filter
theme.json
data from Gutenberg to 6.1 – #56467
- Fix function name case in
wp_default_packages_inline_scripts()
– #56467
- Fix missing frontend section presets output – #56467
- Fix spacing property generation in flow layout type – #56467
- Fix text zoom on link popup editor – #53174
- Improve block loading PHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher performance – #55005
- Improves layout block support in
wp_get_layout_style()
– #56467
- Introduce spacing presets in global style properties – #56467
- Introduces fluid typography and uses Style Engine – #56467
- Make template names and descriptions dynamic – #56467
- Revert [54305]
- Sync changes from the Gutenberg plugin 14.1 release – #56467
External Libraries
- Update the jQuery UI User interface library to version 1.13.2 – #56239
- Update the jQuery library to version 3.6.1 – #56451
General
- Correct the fallback logic in
apache_mod_loaded()
– #56010
- Ensure admin (and super admin) notices are properly displayed on Site Health layout – #54624
- Pass
$action
to nonce_life
filter – #35188
- Remove
file_exists()
checks after calling realpath()
– #56654
- Replace Codex links with their HelpHub counterparts – My Sites screen – #48987
- Revert [54225] – #48987
- Throw a more descriptive error when templates are not found – #36631
Help/About
- Add a help tab in Theme Install screen for the new “Block Themes” search filter – #56405
- Make translator comments version agnostic and make version translatable on the About page – #54741
- Remove an unwanted whitespace in a Theme Install screen help tab string – #56405
I18N 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.
- Remove
code
tags from translatable strings in WP_List_Table::get_views_links()
– #42066
- Update list of continents and cities for the timezone selection – #56468
Login and Registration
- Add a new filter for the lost password link – #55388
Media
- Add caching to
wp_count_attachments()
– #55227
- Change alt attribute field to textarea in media library – #50066
- Fix JS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. TypeError with video playlists and native video – #47513
- Respect EXIF Rotations – #54937
- Revert WebP generation – #55443
Menus
Network (versus site, blog) and Sites
- Move
global_terms_enabled()
to its proper final resting place – #21734
- Officially remove global terms – #21734
- Store main site id of a network in network options – #55802
Posts, Post Types
- Fix
WP_Query
parameter used by get_page_by_title()
– #56609, #36905
- Post title should not be translatable in
get_user_data_from_wp_global_styles
method – #55392
- Update new
wp_post_class_taxonomies
filter name for consistency – #37114
- Cache
get_page_by_title()
– #36905
- Coding standards fixes following [54234] – #36905
- Prevent
get_sample_permalink()
modifying the post object – #54736
REST API
- Fix check for has_archive inclusion – #56618
Role/Capability
- Add a new
update_role
function – #54572
Security
- Salting functions: translate the phrase “put your unique phrase here” – #55937
Shortcodes
- Reverse wrapping of
apply_shortcodes()
and do_shortcode()
– #55883
- Revert default filter callback changes from
apply_shortcodes
to do_shortcode
– #55883
Site Health
- Improve the details provided by the REST API checks – #54617
Taxonomy 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.
- Standardise the format used to describe arguments passed to actions and filters inside
wp_insert_term()
and wp_update_term()
– #55441
Tests
- Add tests with deprecated timezone strings – #56468
- Delete Link Manager plugin after running REST API plugins controller tests – #56629
- Remove empty directory in
WP_UnitTestCase_Base::rmdir()
– #55652
- Remove nested empty directories in
WP_UnitTestCase_Base::rmdir()
– #55652
- Replace the timezone used in date/time tests – #56468
- Reset timezone-related options if the tests change them – #56468
- Revert removing empty directory in
WP_UnitTestCase_Base::rmdir()
for now – #55652, #56629
- Simplify the data provider for testing whether KSES globals are defined – #55652
Text Changes
- Remove self-reference (“we”) in WordPress Admin – #55758, #46057
Themes
- Import Twenty Twenty-Three is now the default theme – #56383
- Relocate actions firing prior to and after template loading – #54541
Tools
- Fix running
build
scripts on Windows does not generate CSS Cascading Style Sheets. files for blocks – #56616
- Simplify syncing core blocks from Gutenberg plugin to Core – #56179
Upgrade/Install
- Add plugin URL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org to the automatic update email – #53049
- Update sodium_compat to v1.19.0 – #56653
- Use “placeholder” for example values in setup-config.php – #56365
Users
- Make
wp_list_authors()
and wp_list_users()
filterable – #17025
i18n
- Ensure empty strings are consistently translated to
''
– #55941
Props
Thanks to the 173 (!!) people who contributed to WordPress Core on Trac last week: @costdev (31), @SergeyBiryukov (23), @audrasjb (19), @jrf (12), @hellofromTonya (11), @peterwilsoncc (9), @bernhard-reiter (8), @desrosj (8), @mukesh27 (7), @mcsf (5), @aristath (5), @oandregal (5), @andrewserong (5), @kebbet (5), @johnbillion (4), @gziolo (4), @Clorith (4), @afercia (4), @dd32 (4), @johnjamesjacoby (4), @adamsilverstein (4), @ramonopoly (4), @ntsekouras (4), @rafiahmedd (4), @joedolson (4), @sabernhardt (4), @isabel_brison (3), @spacedmonkey (3), @antonvlasenko (3), @madhudollu (3), @poena (3), @nacin (3), @dingo_d (2), @scribu (2), @jameskoster (2), @onemaggie (2), @scruffian (2), @chaion07 (2), @DrewAPicture (2), @wonderboymusic (2), @glendaviesnz (2), @Presskopp (2), @robinwpdeveloper (2), @czapla (2), @cbravobernal (2), @marcyoast (2), @oliverstapelfeldt (2), @wildworks (2), @clorith (2), @mikachan (2), @ironprogrammer (2), @critterverse (2), @beafialho (2), @hilayt24 (2), @colorful tones (1), @daisyo (1), @dianeco (1), @bgardner (1), @greenshady (1), @anariel-design (1), @amjadr360 (1), @joen (1), @pbiron (1), @thijso (1), @khokansardar (1), @ramon-fincken (1), @JosVelasco (1), @ChrisHardie (1), @Ipstenu (1), @monolithon (1), @pento (1), @noisysocks (1), @joehoyle (1), @wparslan (1), @JavierCasares (1), @edent (1), @shetheliving (1), @Rahmohn (1), @herregroen (1), @jffng (1), @NomNom99 (1), @kafleg (1), @garrett-eclipse (1), @chaton666 (1), @krupalpanchal (1), @haritpanchal (1), @marybaum (1), @giuseppemazzapica (1), @martinkrcho (1), @pbearne (1), @dwainm (1), @pcfreak30 (1), @igmoweb (1), @jorbin (1), @jonny-s (1), @boonebgorges (1), @kishanjasani (1), @Dharm1025 (1), @thelovekesh (1), @tanvirul (1), @soean (1), @richtabor (1), @pbking (1), @mtias (1), @luminuu (1), @juhise (1), @maksimkuzmin (1), @kraftbj (1), @joyously (1), @hellofromtonya (1), @tobifjellner (1), @rehanali (1), @engahmeds3ed (1), @petitphp (1), @presstoke (1), @ocean90 (1), @here (1), @courane01 (1), @davidbaumwald (1), @vikasprogrammer (1), @maximemeganck (1), @gabri3lmarques (1), @dlh (1), @jsnajdr (1), @Camwynsp (1), @draganescu (1), @mamaduka (1), @dmsnell (1), @sergeybiryukov (1), @azaozz (1), @zieladam (1), @paragoninitiativeenterprises (1), @ndiego (1), @felipeelia (1), @lopo (1), @manooweb (1), @Chouby (1), @hugodevos (1), @Boniu91 (1), @krishaweb (1), @timothyblynjacobs (1), @mburridge (1), @palmiak (1), @jeherve (1), @chriscct7 (1), @ryan (1), @ross_ritchey (1), @griffinjt (1), @namithjawahar (1), @whaze (1), @joostdevalk (1), @jonoaldersonwp (1), @webcommsat (1), @swissspidy (1), @schlessera (1), @afragen (1), @antpb (1), @mciampini (1), @mboynes (1), @Enchiridion (1), @oglekler (1), @jorgefilipecosta (1), @cbirdsong (1), @aaronrobertshaw (1), @youknowriad (1), @TimothyBlynJacobs (1), @chetan200891 (1), @Mte90 (1), @kevinB (1), @matveb (1), @mikeschroder (1), @tbember (1), and @tobiasbg (1).
Congrats and welcome to our 15 (!) new contributors of the week: @marcyoast, @colorfultones, @anariel-design, @amjadr360, @thijso, @khokansardar, @edent, @here, @maximemeganck, @gabri3lmarques, @Camwynsp, @hugodevos, @ross_ritchey, @cbirdsong, @tbember ♥️
Core committers: @sergeybiryukov (28), @audrasjb (23), @desrosj (20), @davidbaumwald (13), @hellofromtonya (7), @jorgefilipecosta (6), @johnbillion (5), @gziolo (5), @peterwilsoncc (5), @joedolson (4), @spacedmonkey (2), @antpb (1), @clorith (1).
#6-1, #core, #week-in-core