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 June 19 and June 26, 2023.
- 112 commits
- 192 contributors
- 68 tickets created
- 16 tickets reopened
- 107 tickets closed
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 the
no-store
and private
directives to the Cache-Control
header 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 preventing caching for logged in users – #21938, #57627
- Backwards compatibility for new sortable keys – #32170
- Consistent positioning and size of search form – #57949
- Fix password layout for RTL and mobile – #9883
- Fix visual regression A software bug that breaks or degrades something that previously worked. Regressions are often treated as critical bugs or blockers. Recent regressions may be given higher priorities. A "3.6 regression" would be a bug in 3.6 that worked as intended in 3.5. in media search input – #57949
- Hide password in options/writing – #9883
- Make checkbox column clickable – #21516
- Reduce translation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. calls after [55969] – #57675
- Replace Tagline option placeholder with a description – #57675
- Replace contracted verb forms for better consistency – #30796
- Set accessible state for list table headers – #32170
Bootstrap/Load
- Require
wp-includes/compat.php
earlier in wp-settings.php
– #58206
- Require
wp-includes/compat.php
in wp-load.php
– #58206
Build/Test Tools
- Store artefacts of failing E2E test runs – #58596
- Update URL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org of theme unit test Code written to test a small piece of code or functionality within a larger application. Everything from themes to WordPress core have a series of unit tests. Also see regression. data – #58569
- Update the test for
pre_wp_setup_nav_menu_item
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. – #56577
Bundled Themes
- Twenty Fifteen: Fix Letter Case implementation – #58526
- Twenty Fifteen: Remove IE specific resources – #56699
- Twenty Fourteen: Fix Letter Case implementation – #58526
- Twenty Nineteen: Always set background color and foreground color together – #45916
- Twenty Nineteen: Ensure Separator 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. supports theme colors in editor – #58558
- Twenty Nineteen: Fix a JS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. coding standard issue found after [55970] – #46474
- Twenty Nineteen: Prevent a console error related to the main navigation on Firefox – #46474
- Twenty Nineteen: Remove unused function parameters and variables – #57397
- Twenty Nineteen: Revert [55960] – #45916
- Twenty Seventeen: Make
twentyseventeen_is_static_front_page()
an alias of twentyseventeen_is_frontpage()
– #43515
- Twenty Seventeen: Remove IE specific resources – #56699
- Twenty Sixteen: Fix Letter Case implementation – #58526
- Twenty Sixteen: Fix List block padding in the editor – #58409
- Twenty Ten: Improve Pullquote block line height for better readability – #52546
- Twenty Thirteen: Remove IE specific resources – #56699
- Twenty Thirteen: Remove an unnecessary border from Table block – #56538
- Twenty Twenty-Two: Add missing subject tags and feature tags – #58437
- Twenty Twenty: Fix Letter Case implementation – #58526
- Twenty Twenty: Fix an RTL style issue leading to failed Test Default Themes & Create ZIPs workflow – #58396
- Twenty Twenty: Fix left margin in Latest Posts & Latest Comments blocks – #58396
- Twenty Twenty: Inherit Quote block’s paragraph custom letter spacing in the editor – #58033
- Twenty Twenty: Remove various unused function parameters and variables – #57371
- Twenty Twenty: Revert [56034] pending further investigation – #58396
Cache 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.
- Remove unused
usermeta
global cache group – #58175
Code Modernization
- Replace usage of
strpos()
with str_contains()
– #58206
- Replace usage of
substr()
with str_starts_with()
and str_ends_with()
– #58220
- Use
str_contains()
in a few more places – #58206
- Use
str_contains()
in a few more places – #58206
- Use
str_contains()
in a few more places – #58220
- Use
str_ends_with()
in a few more places – #58220
- Use
str_starts_with()
and str_ends_with()
in a few more places – #58220
- Use
str_starts_with()
and str_ends_with()
in a few more places – #58220
- Use
str_starts_with()
in WP_Theme_JSON
class methods – #58012
Coding Standards
- Fix missing semicolon after [56009] – #40966
- Fix undeclared variable issue – #40966
- Use Yoda condition in
str_ends_with()
– #58220
- Use strict comparison in
wp-includes/pomo/translations.php
– #57839
Database
- Replace
str_contains()
and str_ends_with()
usage in wpdb
methods – #58206
Docs
- Add missing param description to
update_menu_item_cache
in wp_get_nav_menu_items()
– #58468, #57840
register_block_style()
docblock (phpdoc, xref, inline docs) improvement – #58562, #57840
Editor
- Add a
description
key to theme.json
style variations – #58614
- Add no-js fallback for site editor – #56228
- Fix block editor styles being registered with frontend stylesheets – #58605
- Fix block template utils test: use template part instead of template object – #58540
- Improve accessibility 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) of new custom field Custom Field, also referred to as post meta, is a feature in WordPress. It allows users to add additional information when writing a post, eg contributors’ names, auth. WordPress stores this information as metadata. Users can display this meta data by using template tags in their WordPress themes. UI User interface – #15631
- Introduce
WP_Theme_JSON::prepend_to_selector()
to improve code quality and performance – #58193, #58457
- Register core block styles in one place – #58528
- Rename
wp_get_remote_patterns
to wp_get_theme_directory_pattern_slugs
– #58460
- Use static closures to avoid memory leaks – #58323
- `wp_get_global_styles`: allow transforming the CSS Cascading Style Sheets. Custom Properties into the values they represent – #58588
- `wp_get_global_styles`: return the standard format for CSS Custom Properties – #58467
- add Post Content attributes to block editor settings – #58534
- add grid layout type – #58554
- add grid layout type – #58554
- add support for block-level link hover colors – #58575
- add text columns to typography support – #58549
- fix site editor layout bug 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. – #56228
- rename reusable blocks to patterns – #58577
- revert add grid layout type – #58554
- update layout classnames and specificity – #58548
- use
layout.wideSize
as max viewport width – #58522
- use logarithmic scale for fluid typography – #58523
Embeds
- Add Anghami as a trusted oEmbed provider – #49850
Filesystem API
- Attempt to create directory in
copy_dir()
– #41855
General
- Introduce
WP_DEVELOPMENT_MODE
constant to signify context-specific development mode – #57487
- Replace
substr_compare()
usage in the str_ends_with()
polyfill – #58220
- Replace some instances of “blog (versus network, site)” with “site” in documentation, translator comments, and user-facing text strings – #58117
- Return early from
str_ends_with()
polyfill if both haystack and needle are empty – #58220
- fix
overridden
typos – #58464
Help/About
- Improve Dashboard screen options behavior on small screens – #57977
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.
- Ensure
determine_locale()
does not potentially return an empty string – #58317
KSES
- Add support for CSS
repeat()
function – #58551
Login and Registration
- Add
required
to Username/password inputs – #32510
Media
- Automatically add
fetchpriority="high"
to hero image to improve load time performance – #58235
- Display the “Copy URL” and “Download file” row actions when the “Unattached” filter is applied – #57890, #57893
- Redirect deprecated
wp-admin/media.php
file – #57612
Posts, Post Types
- Add a
$previous_status
parameter to wp_trash_post()
related 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. – #58392
Quick/Bulk Edit
- Don’t set publish date when editing drafts – #19907
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/.
- Indicate when a theme supports the Site editor in the Themes REST API response – #58123
- Return post modified datetime for Templates – #58540
Script Loader
- Add support for HTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. 5 “async” and “defer” attributes – #12009
- Replace
str_contains()
usage in wp-includes/script-loader.php
– #58206
Themes
- Allow non-block themes to add theme support for border settings – #58598
- Allow non-block themes to add theme support for link color settings – #58597
- Change the order of path check in is_block_theme method – #58520
- Fix caching issue in get_post_templates method in
WP_Theme
– #57886
Tools
- Fix unresolvable conflicts computation in package sync script – #58628
Upgrade/Install
- Add aria-describedby for input descriptions – #58613
- Move location of
$upgrade_notice
for better consistency – #57939
- Prevent users from sending multiple bulk 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 updates – #40966
- Show/hide toggle on password fields – #3534
- Update ‘show details’ button change – #44714
Props
Thanks to the 192 (!!) people who contributed to WordPress Core on Trac last week:
@sabernhardt (28), @audrasjb (21), @mukesh27 (20), @costdev (19), @spacedmonkey (16), @joedolson (14), @oglekler (13), @ramonopoly (11), @sergeybiryukov (11), @poena (10), @peterwilsoncc (8), @azaozz (8), @swissspidy (8), @flixos90 (8), @afercia (6), @tb1909 (5), @isabel_brison (5), @andrewserong (5), @dd32 (5), @zunaid321 (5), @kebbet (5), @joemcgill (5), @thakordarshil (4), @pateljaymin (4), @ugyensupport (4), @panchalhimani711 (4), @nidhidhandhukiya (4), @desrosj (3), @westonruter (3), @neychok (3), @pooja1210 (3), @ironprogrammer (3), @nihar007 (3), @clorith (3), @alexstine (3), @rutviksavsani (2), @karmatosed (2), @pbiron (2), @soulseekah (2), @hellofromtonya (2), @bgoewert (2), @kafleg (2), @Cybr (2), @ryelle (2), @samnajian (2), @Soean (2), @jane (2), @upadalavipul (2), @thekt12 (2), @dhruvishah2203 (2), @NekoJonez (2), @wpnook (2), @oandregal (2), @timothyblynjacobs (2), @10upsimon (2), @kapilpaul (1), @ignatggeorgiev (1), @jorbin (1), @krupalpanchal (1), @tacoverdo (1), @ramonopoly (1), @aristath (1), @maxcgparis (1), @rianrietveld (1), @bor0 (1), @boniu91 (1), @renyot (1), @kjellr (1), @zgrkaralar (1), @sabreuse (1), @wojtek.szkutnik (1), @pamprn09 (1), @brookedot (1), @ryan (1), @denis-de-bernardy (1), @mastrup (1), @jrf (1), @otto42 (1), @williampatton (1), @maniu (1), @hellofromTonya (1), @johnjamesjacoby (1), @dimijazz (1), @laurelfulford (1), @samful (1), @monzuralam (1), @azizantoun (1), @bacoords (1), @allancole (1), @d-signed (1), @nant82 (1), @sanchothefat (1), @matmoe (1), @ronakganatra (1), @jeremyfelt (1), @aznadesign (1), @mitchoyoshitaka (1), @lessbloat (1), @ogleker (1), @Boniu91 (1), @dilipbheda (1), @joostdevalk (1), @luehrsen (1), @ianbelanger (1), @grantmkin (1), @McAlyster (1), @janpaulkleijn (1), @rehanali (1), @pavanpatil1 (1), @Dharm1025 (1), @Ankit K Gupta (1), @markdoliner (1), @ayeshrajans (1), @paulkevan (1), @andy786 (1), @johnbillion (1), @pouicpouic (1), @joyously (1), @afragen (1), @Heiko_Mamerow (1), @Denis-de-Bernardy (1), @subrataemfluence (1), @nrqsnchz (1), @fencermonir (1), @zebaafiashama (1), @rudlinkon (1), @uxtremist (1), @rfischmann (1), @youknowriad (1), @mista-flo (1), @batmoo (1), @franrosa (1), @annashopina (1), @hareesh-pillai (1), @bitnissen (1), @krupajnanda (1), @kevin940726 (1), @xkon (1), @nkeller15 (1), @mujuonly (1), @hugod (1), @davidbaumwald (1), @shailu25 (1), @harshgajipara (1), @dmsnell (1), @nadimcse (1), @glendaviesnz (1), @adamsilverstein (1), @mukeshpanchal27 (1), @mor10 (1), @scep (1), @vanaf1979 (1), @Otto42 (1), @MarcGuay (1), @bookdude13 (1), @melchoyce (1), @aaronrobertshaw (1), @adeltahri (1), @chouby (1), @Clorith (1), @ocean90 (1), @dingo_d (1), @mikeschroder (1), @dhrumilk (1), @markparnell (1), @prashantbhivsane (1), @marybaum (1), @ababir (1), @chiragrathod103 (1), @jahidcse (1), @ntsekouras (1), @ryokuhi (1), @Narthur (1), @simonemanfre (1), @intoxination (1), @vasilism (1), @xmarcos (1), @matt (1), @markjaquith (1), @nazgul (1), @akbigdog (1), @rob1n (1), @DrewAPicture (1), @MichaelH (1), @empireoflight (1), @rmccue (1), @markoheijnen (1), @r0uter (1), @amansurov (1), @bi0xid (1), @caraffande (1)
.
Congrats and welcome to our 37 (!!) new contributors of the week: @thakordarshil, @pateljaymin, @panchalhimani711, @samnajian, @dhruvishah2203, @wpnook, @maxcgparis, @renyot, @mastrup, @dimijazz, @azizantoun, @bacoords, @aznadesign, @McAlyster, @janpaulkleijn, @markdoliner, @Heiko_Mamerow, @fencermonir, @uxtremist, @rfischmann, @franrosa, @annashopina, @bitnissen, @shailu25, @harshgajipara, @nadimcse, @scep, @vanaf1979, @ababir, @jahidcse, @Narthur, @simonemanfre, @vasilism, @xmarcos, @akbigdog, @r0uter, @amansurov, and @caraffande ♥️
Core committers: @audrasjb (37), @sergeybiryukov (21), @joedolson (14), @isabel_brison (13), @peterwilsoncc (5), @flixos90 (4), @oandregal (4), @spacedmonkey (3), @swissspidy (2), @johnbillion (2), @westonruter (1), @bernhard-reiter (1), @joemcgill (1).
#6-3, #core, #week-in-core