A Week in Core – December 13, 2021

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 December 6 and December 13, 2021.

  • 19 commits
  • 23 contributors
  • 35 tickets created
  • 13 tickets reopened
  • 33 tickets closed

The Core team is currently working on the next major release, WordPress 5.9, and the beta 2 was released last week 🛠

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

Build/Test Tools

  • Disable WP Cron when installing PHPUnit tests – #54612

Coding Standards

  • Correct alignment in blocks.php and class-wp-rest-templates-controller#53359
  • Remove a trailing comma from a compact() call in _wp_customize_include()#53359
  • Simplify or wrap some long conditions in wp-includes/theme.php for better readability – #53359, #53399
  • Use camel case with a lowercase first letter for the blockTheme array key – #54578, #53359

Docs

  • Capitalize “ID”, when referring to a post ID, term ID, etc. in a more consistent way – #53399
  • Capitalize “ID”, when referring to a sidebarSidebar A sidebar in WordPress is referred to a widget-ready area used by WordPress themes to display information that is not a part of the main content. It is not always a vertical column on the side. It can be a horizontal rectangle below or above the content area, footer, header, or any where in the theme. ID in a more consistent way – #53399
  • Capitalize “ID”, when referring to a widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. ID or sidebar ID, in a more consistent way – #53399
  • Correct the format of some comments per the documentation standards – #53399
  • Docblockdocblock (phpdoc, xref, inline docs) adjustments in some 5.9 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. related functions – #53359
  • Document the global used in upgrade_590() function – #53399
  • Update a comment in wp-admin/load-styles.php per the documentation standards – #53399
  • Update some @var tags per the documentation standards – #53399

Editor

  • Add an editor settings flag to enable the new gallery for mobile apps for 5.9 – #54583

General

  • Mark the recommended MariaDB version number in readme.html with a <strong> 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.)#41490

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

  • Ensure that the parent link, uses the rest_get_route_for_post function – #53656

Themes

  • Auto-enable block-templates support for all block themes – #54335
  • Show only “Customize” or “Activate” button in block theme’s Theme Details modal – #54578

Upgrade/install

Props

Thanks to the 23 people who contributed to WordPress Core on Trac last week: @hellofromTonya (3), @SergeyBiryukov (3), @costdev (2), @noisysocks (2), @Spacedmonkey (1), @bronsonquick (1), @glendaviesnz (1), @Boniu91 (1), @francina (1), @TobiasBg (1), @desrosj (1), @aristath (1), @peterwilsoncc (1), @afragen (1), @galbaras (1), @dlh (1), @pbiron (1), @antonvlasenko (1), @kafleg (1), @ryelle (1), @poena (1), @Chouby (1), and @ocean90 (1).

Core committers: @sergeybiryukov (11), @audrasjb (4), @spacedmonkey (1), @hellofromtonya (1), @peterwilsoncc (1), and @youknowriad (1).

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

Posts, Post types and Taxonomy changes in WordPress 5.9

In WordPress 5.9, new 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. and functions are added to help developers to work with Posts, Post types and Taxonomies.

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

WP 5.9 introduces the new is_post_type_viewable filter to allow developers to hook into is_post_type_viewable() to override the check performed by this function.

This filter exposes the $post_type object to allow to return either true or false depending on their needs. The expected filtered value is a boolean. As filtered values can change, including the data type, this commit includes a is_bool() check, thus ensuring backwards-compatibility and guard against potential type errors in PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8.1+. Non-boolean values (even falsey and truthy values) will result in the function returning false.

Usage:

/**
 * Override is_post_type_viewable() value for the "Books" custom post type. 
 */
function wporg_books_is_not_a_viewable_post_type( $is_viewable, $post_type ) {
	if ( __( 'Books', 'my-plugin' ) === $post_type->label ) {
		return false;
	}
	return $is_viewable;
}
add_filter( 'is_post_type_viewable', 'wporg_books_is_not_a_viewable_post_type', 10, 2 );

Related ticketticket Created for both bug reports and feature development on the bug tracker. on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress.: #49628.

is_post_status_viewable filter

Similarly to is_post_type_viewable, the is_post_status_viewable filter allow developers to hook into the related PHP function. This filter exposes the $post_status object to allow to return either true or false depending on their needs.

Usage:

/**
 * Override is_post_status_viewable() value for the "Unread" custom post status. 
 */
function wporg_unread_is_not_a_viewable_post_status( $is_viewable, $post_status ) {
	if ( __( 'Unread', 'my-plugin' ) === $post_status->label ) {
		return false;
	}
	return $is_viewable;
}
add_filter( 'is_post_type_viewable', 'wporg_unread_is_not_a_viewable_post_status', 10, 2 );

Related ticket on Trac: #54375.

post_thumbnail_url filter

WP 5.9 Introduces the new filter post_thumbnail_url which allows overriding the default url returned from wp_get_attachement_image_url() function. It passes the following parameters:

  • $thumbnail_url: The Post thumbnail URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org (or false if the post does not exist)
  • $post: The Post ID or WP_Post object. Default is global $post
  • $size: The Registered image size to retrieve the source for or a flat array of height and width dimensions. Default value: post-thumbnail

Usage:

/**
 * Override the post thumbnail URL for a specific template.
 */
function wporg_change_post_thumbnail_url_for_about_template( $thumbnail_url, $post, $size ) {
	if ( 'templates/about.php' !== get_page_template_slug( $post ) ) {
		return wp_get_attachment_image_url( get_template_directory . '/images/my-specific-image.png' );
	}
	return $thumbnail_url;
}
add_filter( 'post_thumbnail_url', 'wporg_change_post_thumbnail_url_for_about_template', 10, 3 );

Related ticket on Trac: #40547.

post_thumbnail_id filter

Similarly, WP 5.9 introduces the new post_thumbnail_id filter which allows overriding the default id returned from get_post_thumbnail_id(). It passes the following parameters:

  • $thumbnail_id: The Post thumbnail ID (or false if the post does not exist)
  • $post: The Post ID or WP_Post object. Default is global $post

Related ticket on Trac: #23983.

New labels available in register_taxonomy()

In WP 5.9, some static strings were replaced with additional label options to allow developers further flexibility for customizing the Edit {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.} screen.

The following labels were added:

  • name_field_description: Description for the Name field on Edit Tags screen. Default: “The name is how it appears on your site.”
  • parent_field_description: Description for the Parent field on Edit Tags screen. Default: “Assign a parent term to create a hierarchy. The term Jazz, for example, would be the parent of Bebop and Big Band.”
  • slug_field_description: Description for the Slug field on Edit Tags screen. Default: “The « slug » is the URL-friendly version of the name. It is usually all lowercase and contains only letters, numbers, and hyphens.”
  • desc_field_description: Description for the Description field on Edit Tags screen. Default: “The description is not prominent by default; however, some themes may show it.”

Related ticket on Trac: #43060.

New function to get the URL for existing 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. of a post: wp_get_post_revisions_url()

Since WP 5.9, the wp_get_post_revisions_url() function can be used to get a link to a given post’s revisions.

Parameters:

  • $post_id (optional): Post ID or WP_Post object. Default is global $post.

This function returns the URL for editing revisions on the given post (or null otherwise).

Related ticket on Trac: #39062.

New built-in post types in WP 5.9

Please note that WordPress 5.9 introduces four new built-in post types related to the new full site editing experience and are used when 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 is activated.

  • wp_template: The templates to include in your theme.
  • wp_template_part: The template parts to include in your templates.
  • wp_global_styles: The styles created and saved by the site adminadmin (and super admin) for the current theme.
  • wp_navigation: The navigation menus that can be inserted into the site.

Additional dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include: a description of the change; the decision that led to this change a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. will be published to introduce the new full site editing experience. Note the above post types are reserved terms for WordPress internal usage.

Thanks @mkaz for proofreading.

#5-9, #dev-notes

DevChat summary – December 8, 2021

Agenda written by @estelaris. Dev chat Notes by @webcommsat. Meeting facilitated by @marybaum

Start of the DevChat meeting, in the 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/. channel

Agenda

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

Update from @hellofromtonya
Beta 3 is next week in 6 days, i.e. December 14, 2021. Efforts are focused on fixing bugs identified in the beta cycle. There are some new bugs identified where tickets were reopened or new ones created. Help in testing and fixing is greatly appreciated in:
Milestone’s report for Core specifically
List of items for Gutenberg

Overall, progress looks to be on track. Not currently seeing any red flags.

Thank you to everyone who has contributed to 5.9.

@mkaz: The list of dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include: a description of the change; the decision that led to this change a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. relating to the release is on GitHub rather than as a spreadsheet.

Blogblog (versus network, site) posts to note

WordPress 5.9 Beta 2 fixed 24 bugs reported by contributors and needs testing. If you can help, please report your findings on the announcement post.

The Editor Chat Summary highlights improvements made by the team.

Gutenberg 12.1 RC1 was released.

@audrasjb published the latest issue of A Week in Core (6 December 2021).

And remember that the release schedule has been revised.

WordPress 5.9 Beta 2 – Can you help test the latest software version of WordPress? 5.9 Beta 2 was published on 7 December 2021, please help find any bugs.

Update from Component Maintainers

Build/Test Tools, Date/Time, General, 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., Permalinks

Update from @sergeybiryukov: no major news this week. 

Help/About

Update from @webcommsat: About Page and related materials.

  • Monday 6 December 2021 20:30 UTC collaboration
    • Key areas covered: sections, video options, discussion on the navigation 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..
  • Wednesday 8 December 2021, 15:00 UTC plus async
    • Start of the more detailed exploration of key benefits by audience and messaging for social media .
    • Also provided an earlier time for anyone wishing to collaborate than the Monday 20:30 UTC sessions.
  • Follow the discussions: Links to all of these sessions are in the TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress. ticket and in the Marketing Team GitHub card to help people follow along and get involved, especially those less familiar with Trac.
  • Next live collaboration session on slack: this will take place on Monday13 December 2021, at 20:30 UTC in core.
  • Over the next few days, @marybaum and @webcommsat will continue to bring together the different suggestions. Please do continue to add to the documents and spreadsheet asynchronously or reach out if you have a query. Thanks so much and to everyone from core, marketing, training and documentation that have been contributing.
  • Request for input: Dev and extenders insights are particularly needed.
    • You can also contribute to the spreadsheet created by @webcommsat for marcomms. This has different tabs for major audience groups, and information will be broken down by subject in each tab, eg Navigation Block. If you have a suggestion, please add it to the sheet and include the feature area in brackets to help us categorize them. To avoid the problems of internet spamming, @vimes1984 after testing has set the spreadsheet to comment mode. Anyone can add insights by opening the link, and clicking on ‘comment’ in the relevant tab. If anyone has difficulty with using it or has a query, please let us know on Slack (abhanonstopnewsuk). We have options for those who need an alternative format for 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). A post with more information to help contributors will be published later today and a link added to this post. @hellofromtonya suggested making it available on the core blog too.
    • @marybaum: One question we want to answer now is, think of the times you’ve been working on the front end of a site, going back and forth between your code and the block editor.
    • How does 5.9 make your life easier? For instance, almost every time I do a redesign, I forget I have to rebuild the menus until the last minute. Now the Nav Block means menus stay intact)
    • @costdev: Also another way to think about it for non-dev users:
      • Install 5.8.2 and try to create a site. At what points would you need to install another theme, a 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, or hire a developer to make a change?
      • Install 5.9.0 Beta 2. What items are no longer on that list?
      • 5.9 benefits both dev and non-dev users, so this is a great way to highlight where non-dev users get “stuck” without extenders.
    • Further insight on the dev benefits from 5.9 requested. This will be the focus of the session on Monday 13 December 2021, 20:30 UTC in the core slack channel. @costdev hopes to attend and bring a list from testing.

Open Floor

Upgrade issue GutenbergGutenberg 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/ 12/1 and 5.9 Beta 2

@nickdiego: Raised a Gutenberg issue that he and @ Brian Gardner found after upgrading to 12.1 and 5.9 Beta 2. They have been exploring the issue and wanted to get visibility for it before raising a Trac ticketticket Created for both bug reports and feature development on the bug tracker.. Nick highlighted that the issue has a big impact, and is likely to do with merging code from Gutenberg to Core. He can create a ticket if needed.

@hellofromtonya: A Trac ticket isn’t necessary as once it’s fixed it will get backported with each Monday’s updates. She also highlighted the issue in the core-editor channel for suggestions and adding to the 5.9 project board. She thanked Nick and Brian for testing and identifying the issue.

@jeffpaul: requested view from @oandregal on the ticket.

Plugin upgrader

@costdev: In #core-auto-updates, they have been running through an issue with changes to the plugin upgrader. There’s been a lot of investigation done so far. They will make a decision on Friday about whether we can get this into 5.9 or whether it will need to puntpunt Contributors sometimes use the verb "punt" when talking about a ticket. This means it is being pushed out to a future release. This typically occurs for lower priority tickets near the end of the release cycle that don't "make the cut." In this is colloquial usage of the word, it means to delay or equivocate. (It also describes a play in American football where a team essentially passes up on an opportunity, hoping to put themselves in a better position later to try again.) to 6.0.

Request: additional contributors to join the conversation, particularly if they use VVV or Chassis

@hellofromtonya: The issue so far is impacting Vagrant environments, though wider testing on shared hosts, etc. is also needed. If you can help test or contribute, please join in the #core-auto-updates channel.

@marybaum: Is it okay on Local and the AMPs?

@pbiron: to be more specific: 5.9 beta2 includes a feature that ‘does a backup’ of the currently installed plugin before the update happens. If the update fails, then it ‘rolls back’ the previously installed version. This feature seems to work fine in every environment in which it has been tested except for VVV/Chassis

@costdev: So far, we haven’t been able to reproduce the issue on Local or other Docker environments (right @pbiron?) or in WSL2 (Hyper-V). (edited) 

@pbiron: in VVV/Chassis , the plugin actually gets deleted after the update.

@hellofromtonya:  final comment on 5.9 release: The team is working on identifying and resolving this issue this week before Beta 3. If it can’t be resolved, then a hard decision will need to be made. 5.9 will not be at risk. The team is asking for help to join in the effort.

Target release dates for 2022

Post dev chat announcement from the core slack.

@chanthaboune: I have been in meetings two weeks in a row during core chat time but I have a very important topic, so I’m just going to drop it in here anyway. We’ve got to talk about target release dates for 2022. As I see it we have some options:

  1. Four releases, essentially quarterly
  2. Three releases, essentially….trimester-ly?
  3. Start with Two for the first half and see how we feel about the second half

I have suggested schedules for all of those options (and will post about it to make.wordpress.org/core), but meant to open the discussion here first.

@audrasjb: In my opinion, with the first update on January, we can probably target 4 releases in 2022. I’d say it’s currently a bit difficult to target 4 full release cycles in one year, but since most of the work for 5.9 was done in 2021, I do think it’s realistic to aim for a 4-release year in 2022.

@joyously : I’d vote for as few majors as possible, and focus on 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. fixes.

@pbearne: With the work on performance ramping up will at least one release for that work that will/maybe short on UIUI User interface features

#5-9, #dev-chat

A Week in Core – December 6, 2021

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 November 29 and December 6, 2021.

  • 66 commits
  • 62 contributors
  • 62 tickets created
  • 16 tickets reopened
  • 51 tickets closed

The Core team is currently working on the next major release, WordPress 5.9, and the beta 1 was released last week 🛠

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

  • For 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, link to Site Editor interface instead of CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings. in Dashboard’s welcome panel and Themes interface – #54460

Build/Test Tools

  • Remove the replace:emoji-banner-text Grunt task – #44632, #44306, #53363
  • Revert ignore prop change in [52272]#54506
  • Fix typo in a WP_Test_REST_Posts_Controller test method name – #53363
  • Rename classes in phpunit/tests/block-supports/ per the naming conventions – #53363
  • Rename classes in block template tests per the naming conventions – #53363
  • Replace assertEquals() with assertSame() in block template tests – #53364, #53363, #54335
  • Update WP_REST_Global_Styles_Controller_Test “Custom Styles” string after [52280]#54518

Bundled Themes

  • Twenty Fourteen: Adjust capability queries when using version before WordPress 5.9-alpha – #16841
  • Twenty Twenty-Two: Sync updates from GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/#54318
  • Twenty Twenty: Restore Editor post title styles after GutenbergGutenberg 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/ 11.4.0 updates – #54056

Coding Standards

  • Break the $path reference after a foreach 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. in block_editor_rest_api_preload()#54558
  • Address a few coding standards issues after [52312] – #54558

Docs

  • Add missing @param to wp_set_unique_slug_on_create_template_part()#53399
  • Add missing @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.) to WP_Theme_JSON_Schema functions – #53399, #54336
  • Add missing summary for WP_Theme_JSON_Resolver::get_merged_data()#53399
  • Docblockdocblock (phpdoc, xref, inline docs) corrections in _disable_block_editor_for_navigation_post_type()#53399
  • Docblock typo correction in WP_Theme_JSON_Schema#53399
  • Fix typo in some get_edit_term_link() test DocBlocks – #50225, #53399
  • Further update some @since notes in WP_Theme_JSON methods for clarity – #53399, #54336
  • Misc Docblock corrections in duotone.php file – #53399
  • Miscellaneous Docblock corrections for block-template-utils.php file – #53399
  • Miscellaneous Docblock corrections in several /block-supports files – #53399
  • Replace @since 5.9 with @since 5.9.0 in block-template-utils.php#53399
  • Some documentation improvements for WP_Theme_JSON and WP_Theme_JSON_Resolver classes: – #53399, #54336
  • Use a duplicate hook reference for theme_file_path in WP_Theme::get_file_path()#51506, #53399
  • Various docblock corrections – #53399

Editor

  • Allow child themeChild theme A Child Theme is a customized theme based upon a Parent Theme. It’s considered best practice to create a child theme if you want to modify the CSS of your theme. https://developer.wordpress.org/themes/advanced-topics/child-themes/. PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher templates to take precedence over parent theme block templates – #54515
  • Allow theme.jsonJSON JSON, or JavaScript Object Notation, is a minimal, readable format for structuring data. It is used primarily to transmit data between a server and web application, as an alternative to XML. to take precedence in setting the root level element’s reset margin value – #54550
  • Avoid undefined index notices in the Template Parts Editor – #54558
  • Avoid a JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. console error on the Navigation block view – #54456
  • Do not translate the title of “Custom Styles” specific posts – #54518
  • Enable incomplete unit tests in Tests_Block_Template_Utils:: test_get_block_template_from_file()#54551
  • Hide visibility and status settings for wp_navigation post type – #54407
  • Remove Navigation Areas – #54506
  • Resolve template request ?_wp-find-template=true for new posts and pages – #54553
  • Update wordpress packages – #54487
  • Update wordpress packages – #54487
  • Site Editor: Add site export 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/. endpoint – #54448
  • Restore block PHP to canonical version in wordpress/block-library – #54506
  • Update wordpress packages – #54487

External Libraries

  • Further fix jQuery deprecations in WordPress core – #51519

Feeds

  • Remove reference to wp-atom.php in Atom feeds xml:base attribute – #47955

Formatting

  • Handle non-scalar types passed to sanitize_key()#54160

General

  • Add MariaDB in the readme.html requirements – #41490

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 classname WpOrg\Requests\Proxy\Http in WP_Http::request()#54562
  • Revert changeset [52244] – #54562, #54504
  • Revert changeset [52315] – #54562, #54504

Internationalization

  • Remove redundant default text domain parameter in some __() calls – #53359

KSES

  • Accept port number in PDF upload paths – #54261
  • Allow attributes to be restricted via callbacks – #54261
  • Use the polyfilled PHP 8 string functions in _wp_kses_allow_pdf_objects()#54261

Media

  • Featured imageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. modal loads only selected image when infinite scroll is disabled – #53765
  • Fix TypeError and improve wp_exif_frac2dec() to only return int or float#54385
  • Replace tests/phpunit/data/images/sugar-mountain.jpg test image – #54385
  • Use infiniteScrolling global setting in js/media/controllers/featured-image.js and js/media/controllers/replace-image.js#53765

Options, 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. APIs

  • Improve error handling in sanitize_option()#53986

Plugins

  • Correct the documented allowable types for to the $callback parameter of various hook related functions – #54440

REST API

  • Ensure that the rest_after_insert_ action is executed in the templates controller – #54520
  • Fire wp_after_insert_post later in new post object endpoints – #54536
  • Replace hardcoded wp/v2/ preloaded paths – #54536
  • Use global transients for URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org details endpoint – #54499

Upgrade/Install

  • Check that WordPress is installed before scheduling cleanup of the temp-backup directory – #51857
  • Make some adjustments to the move_dir() function: – #54166, #51857

Props

Thanks to the 62 people who contributed to WordPress Core on Trac last week: @peterwilsoncc (8), @costdev (8), @hellofromTonya (5), @spacedmonkey (5), @SergeyBiryukov (4), @audrasjb (3), @desrosj (3), @poena (3), @noisysocks (3), @bernhard-reiter (3), @dd32 (3), @mukesh27 (3), @zieladam (3), @sabernhardt (3), @antonvlasenko (3), @get_dave (2), @swissspidy (2), @malthert (2), @TobiasBg (2), @youknowriad (2), @talldanwp (2), @ramonopoly (2), @adamsilverstein (1), @tobiasbg (1), @kjellr (1), @onemaggie (1), @hellofromtonya (1), @jameskoster (1), @matveb (1), @stevegs (1), @sergeybiryukov (1), @hilayt24 (1), @mamaduka (1), @oandregal (1), @praem90 (1), @shireling (1), @jrf (1), @mai21 (1), @dlh (1), @pbiron (1), @szaqal21 (1), @wpnomad (1), @johnbillion (1), @alexeydemidov (1), @kafleg (1), @Boniu91 (1), @ocean90 (1), @Pento (1), @xknown (1), @iCaleb (1), @mkaz (1), @afragen (1), @toro_unit (1), @dariak (1), @joedolson (1), @Mamaduka (1), @walbo (1), @chaion07 (1), @Clorith (1), @presskopp (1), @promz (1), and @tw2113 (1).

Congrats and welcome to our 2 new contributors of the week: @wpnomad and @alexeydemidov ♥️

Core committers: @sergeybiryukov (19), @audrasjb (18), @hellofromtonya (15), @noisysocks (4), @peterwilsoncc (4), @spacedmonkey (3), @johnbillion (2), and @jffng (1).

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

Dev chat summary, December 1, 2021

The agenda followed for the meeting.

The meeting was led by @marybaum and summary written by @webcommsat.

The full meeting starts at this link in the 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/. channel

1. Welcome

2. Announcements

WordPress Beta 1 is out (30 November 2021)

3. Useful posts

4. Update on journey to 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. 2

@hellofromtonya: Beta 2 is planned for next week, 7 December 2021.

Until that time, focus shifts towards triaging, investigating, and fixing issues found in Beta 1 or just prior to it.

Issues

There are 4 issues identified during the release party and after which need contributors to help test, share feedback, investigate, and resolve:

GutenbergGutenberg 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/

Work continues on bugs in Gutenberg too though currently not seeing blockers and progress on the list of important is proceeding well.

How can you help?

Test, Test, Test. Give feedback through a test report that shares your findings, even if it’s “can’t reproduce”.

And thank you to all contributors. Your contributions help to make WordPress.

@costdev: For test reports, you can use this template (screencast optional).

For test reports, you can use this template (screencast optional).

Just a note that the test report template is also very useful for including in the original description in a ticketticket Created for both bug reports and feature development on the bug tracker. when you’re reporting an issue.

Letting us know the environment that the issue occurs on lets us:

  • Try to reproduce using that environment
  • Try to reproduce using a similar environment
  • Try to reproduce in totally different environments

@marybaum: Thanks @hellofromtonya and @costdev. For our #Marketing and other observers, this kind of testing doesn’t require any code skill.

5. Component maintainers update

About / Help page

@webcommsat: With the beta 1, we postponed our weekly catchup to this Friday 3 December 2021, 19:00 UTC. In addition, there will be a 10 minute drop-in, facilitated by @marybaum from 18:50 UTC for those coming to shadow, observers, or new people from marketing. We will look further at the designs from @critterverse and other items on the About page and its associated items, and the start of the social media collaborations. Please join us if you can and look at the initial design draft on the ticket.

If anyone has a particular aspect to highlight for Friday, please let @marybaum and @ abhanonstopnews (on Slack) know.

More on how you can help contribute to social media promotions for the 5.9 release on the marketing blog. Everyone is welcome to join the marketing meeting next week, Wednesday 8 December 2021, at 14:00 UTC, to start exploring the social media posts too.

6. Open Floor

Q. A question asked in Marketing today, if someone finds an error on beta 1, is there a cut off for when they can report it?
A: There is no cut-off. They can report it when/ if something is found.

No other items were raised.

#5-9, #dev-chat

A Week in Core – November 29, 2021

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 November 22 and November 29, 2021.

  • 42 commits
  • 60 contributors
  • 53 tickets created
  • 5 tickets reopened
  • 40 tickets closed

The Core team is currently working on the next major release, WordPress 5.9 🛠

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

Build/Test Tools

  • Configure Dependabot scanning for GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ Actions – #54503
  • Correct the order and naming of expected and actual values in various tests – #53363
  • Fix warnings from stdClass::__invoke() callback mocks in 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/. tests – #53844
  • Remove unexpected output in wp_dashboard_recent_drafts() tests on PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher 8.1 – #53635, #53363
  • Rename classes in phpunit/tests/block-supports/ per the naming conventions – #53363
  • Rename classes in 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. template tests per the naming conventions – #53363
  • Replace assertEquals() with assertSame() in block template tests – #53364, #53363, #54335
  • Temporarily disable the check that the current recommended PHP version is actively supported – #54528
  • Use a simpler approach to test the output in some tests – #53635, #53363, #53363
  • Specify NodeJS version 14.x in the .nvmrc file – #54502

Bundled Themes

  • Twenty Twenty One: Remove Image block placeholder alignment override in editor styles – #54254
  • Twenty Twenty-One: Combine duplicate CSSCSS Cascading Style Sheets. rules – #53605
  • Twenty Twenty-One: Style adjustments for list-based widgets in the widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. editor – #53629
  • Twenty Twenty: Restore Editor post title styles after GutenbergGutenberg 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/ 11.4.0 updates – #54056

Docs

  • Add a @since note and description to wp_kses_attr() for new attribute-related KSES options: – #54261
  • Document the globals used in some Privacy 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. methods – #53399
  • Improve consistency of some DocBlocks in wp-admin/includes/post.php#53399
  • Miscellaneous DocBlockdocblock (phpdoc, xref, inline docs) corrections – #53399
  • Miscellaneous DocBlock corrections in wp-admin/includes/post.php#53399
  • Remove inaccurate part of the screen_settings 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. description – #54524
  • Various docblock corrections and improvements – #53399

Editor

  • Check the correct post type support property for initial_edits#53813
  • Ensure block style name does not contain spaces before creating the class – #54296
  • Remove Navigation Areas – #54506
  • Update wordpress packages: Update packages to include 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. fixes from Gutenberg – #54487

External Libraries

  • Update getID3 to version 1.9.21 – #54162
  • Update the Requests library to version 2.0.0 – #54504
  • Upgrade PHPMailer to version 6.5.3 – #54514

Feeds

  • Remove reference to wp-atom.php in Atom feeds xml:base attribute – #47955

Media

  • Allow setting custom image alt text in custom 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. image – #46124
  • Ensure media preview is fully viewable in the “Add Media” modal – #53636
  • Fix TypeError and improve wp_exif_frac2dec() to only return int or float#54385
  • Replace tests/phpunit/data/images/sugar-mountain.jpg test image – #54385
  • Replace some array keys with their numeric equivalent – #53540

REST API

  • Ensure that the rest_after_insert_ action is executed in the templates controller. – #54520

Script Loader

  • Enqueue block stylesheet only when the corresponding block is used – #54457

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.

  • Check $term object before using it in get_term_feed_link()#50225
  • Use WP_Term object to retrieve the taxonomy in get_term_feed_link()#50225

Themes

  • Add block template resolution algorithm unit tests – #54478
  • Move the skip link to outside the canvas in block themes – #54491
  • Update the base folders for templates and template parts in block themes – #54493

Props

Thanks to the 60 people who contributed to WordPress Core on Trac last week: @jrf (6), @audrasjb (4), @sabernhardt (4), @costdev (4), @mukesh27 (4), @SergeyBiryukov (3), @spacedmonkey (2), @bernhard-reiter (2), @adamsilverstein (2), @peterwilsoncc (2), @zieladam (2), @Boniu91 (2), @justinahinon (1), @multidots1896 (1), @wojsmol (1), @jorgefilipecosta (1), @chintan1896 (1), @schlessera (1), @Synchro (1), @datagutten (1), @noisysocks (1), @dd32 (1), @dustinrue (1), @soulseekah (1), @szepeviktor (1), @youknowriad (1), @ryelle (1), @Shaharyar10 (1), @shital-patel (1), @poena (1), @circlecube (1), @Rahmohn (1), @sourovroy (1), @hugod (1), @webmandesign (1), @joedolson (1), @Ankit K Gupta (1), @get_dave (1), @shireling (1), @mai21 (1), @hilayt24 (1), @desrosj (1), @praem90 (1), @stevegs (1), @tobiasbg (1), @tw2113 (1), @siliconforks (1), @shimotomoki (1), @nrqsnchz (1), @devutpol (1), @amustaque97 (1), @hellofromtonya (1), @pbiron (1), @afragen (1), @dlh (1), @Starbuck (1), @afercia (1), @anevins (1), @mikeschroder (1), and @talldanwp (1).

Congrats and welcome to our 10 new contributors of the week: @multidots1896, @wojsmol, @datagutten, @dustinrue, @Shaharyar10, @hugod, @praem90, @stevegs, @shimotomoki, and @amustaque97 ♥️

Core committers: @sergeybiryukov (14), @audrasjb (13), @hellofromtonya (3), @johnbillion (3), @spacedmonkey (2), @youknowriad (2), @noisysocks (2), @desrosj (2), and @peterwilsoncc (1).

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

Dev Chat Summary for November 24, 2021

@hellofromTonya led the weekly meeting at 20:00 UTC. Here is the meeting agenda.

Link to this <devchat> in #core on Making 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/..

Notable News and blogblog (versus network, site) posts

Team Reps

  • @marybaum will be a new Core Team Rep for 2022.
  • Thanks to @francina for serving in this role!
  • @audrasjb will continue in this role until another team repTeam Rep A Team Rep is a person who represents the Make WordPress team to the rest of the project, make sure issues are raised and addressed as needed, and coordinates cross-team efforts. is found.

Interested in being a Core Team Rep? Reach out to @audrasjb.

WordPress 5.9

  • @jeffpaul asked if there are any 5.9 blockers that are in specific need of help and asked what type of help they need (engineering, design, testing, etc).
  • @hellofromTonya posted an update on 5.9 blockers and scheduling. Design help is needed for Global styles & Design tools.
  • There is an open Call for Testing for Safari.
  • Everyone is invited to help wherever possible.
  • The release squad is keeping a daily close eye on progress, needs, and any blockers that might surface. Discussions and updates are centralized in the #5-9-release-leads channel on Slack.

Component Team Updates

Build/Test Tools

@sergeybiryukov gave an update:

  • Dependabot scanning is now configured for GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ Actions. This eliminates the need to manually check all GitHub Actions used within workflow files for updates. See ticketticket Created for both bug reports and feature development on the bug tracker. #54503 for more details.
  • NodeJS is pinned to the 14.x version in the .nvmrc file to ensure contributors are able to contribute without issue until compatibility with version 16.x can be confirmed in both trunktrunk A directory in Subversion containing the latest development code in preparation for the next major release cycle. If you are running "trunk", then you are on the latest revision. and the GutenbergGutenberg 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/ repository on GitHub. See ticket #54502 for more details.
  • Some PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher warnings from stdClass::__invoke() callback mocks were fixed in 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/. tests. See ticket #53844 for more details.
  • The timeout for GitHub Actions jobs was lowered so runaway or stalled processes don’t risk running for the default timeout duration of six hours. See ticket #53363 for more details.

@sergeybiryukov shared: No major news this week

Open Floor

  • @afragen asked for feedback on the Plugin Dependencies project for WordPress 6.0. Reach out to @peterwilsoncc if you wish to have editing access.
  • @jeffpaul asked how we are progressing on the Pre Beta 1 tasks and asked if there are any items that need help.
  • @hellofromTonya replied that there are some Dev notesdev note Each important change in WordPress Core is documented in a developers note, (usually called dev note). Good dev notes generally include: a description of the change; the decision that led to this change a description of how developers are supposed to work with that change. Dev notes are published on Make/Core blog during the beta phase of WordPress release cycle. Publishing dev notes is particularly important when plugin/theme authors and WordPress developers need to be aware of those changes.In general, all dev notes are compiled into a Field Guide at the beginning of the release candidate phase. that need to be compiled and published.
  • @audrasjb has been marking tickets that need Dev notes.
  • @mkaz noted that documentation for WordPress 5.9 could use some help and posted a link to the requirements. Contributors are invited to reach out to @mkaz with any questions.
  • @jeffpaul is working on the WordPress 5.9 HelpHub page.
  • @abhanonstopnewsuk noted that the latest checks for the About and Help page were carried out on Monday November 22, 2021. The next check is on Monday November 29, 2021 at 20:30 UTC.
  • @audrasjb will be leading a 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 on November 25, 2021 at 21:00 UTC. See the 5.9 Bug Scrub schedule.
  • With Thanksgiving taking place in the US on November 25, 2021, @hellofromTonya thanked the community for all contributions.

Props to @costdev for writing the devchat summary.

#5-9, #dev-chat, #summary

Dev Chat Agenda for November 24, 2021

Here is the agenda for this week’s developer meeting to occur on November 24, 2021, at 20:00 UTC.

Please note that depending on your timezone, the time may have changed with the end of daylight saving time.

Blogblog (versus network, site) Post Highlights and announcements

Bringing to your attention some interesting reads and some call for feedback and/or volunteers:

Have you been working on 5.9 related issues? Let everyone know!

Components check-in and status updates

  • Check-in with each component for status updates.
  • Poll for components that need assistance.

Open Floor

Do you have something to propose for the agenda, or a specific item relevant to the usual agenda items above?

Please leave a comment, and say whether or not you’ll be in the chat, so the group can either give you the floor or bring up your topic for you accordingly.

This meeting happens in the #core channel. To join the meeting, you’ll need an account on the Making WordPress Slack.

#5-9, #agenda, #core, #dev-chat

A Week in Core – November 22, 2021

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 November 15 and November 22, 2021.

  • 76 commits
  • 138 contributors
  • 48 tickets created
  • 6 tickets reopened
  • 73 tickets closed

The Core team is currently working on the next major release, WordPress 5.9 🛠

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

  • Restores “Customize” menu item for non-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 and moves for block themes – #54418

Build/Test Tools

  • Add the ruleset file to the cache key for PHPCSPHP Code Sniffer PHP Code Sniffer, a popular tool for analyzing code quality. The WordPress Coding Standards rely on PHPCS. and PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 5.6.20 or higher compatibility scans – #54425
  • Cache the results of PHP_CodeSniffer across workflow runs – #49783
  • Restore the httpsHTTPS HTTPS is an acronym for Hyper Text Transfer Protocol Secure. HTTPS is the secure version of HTTP, the protocol over which data is sent between your browser and the website that you are connected to. The 'S' at the end of HTTPS stands for 'Secure'. It means all communications between your browser and the website are encrypted. This is especially helpful for protecting sensitive data like banking information. URLURL A specific web address of a website or web page on the Internet, such as a website’s URL www.wordpress.org for browserify-aes – #54337
  • Update all 3rd party GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/ actions to the latest versions – #53363

Bundled Themes

  • Update the “Tested up to” 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. to 5.9#53797
  • Twenty Nineteen: Apply coding standards fix from running composer format#54392
  • Twenty Sixteen: Correctly align columns within table blocks as configured in the editor – #54317
  • Twenty Twenty-One: Check if anchor exists before triggering in-page navigation – #53619
  • Twenty Twenty-One: Correct description of Dark Mode in the CustomizerCustomizer Tool built into WordPress core that hooks into most modern themes. You can use it to preview and modify many of your site’s appearance settings.#53892
  • Twenty Twenty-One: Prevent notice thrown in twenty_twenty_one_get_attachment_image_attributes()#54464
  • Twenty Twenty-One: Remove RSS feedRSS Feed RSS is an acronym for Real Simple Syndication which is a type of web feed which allows users to access updates to online content in a standardized, computer-readable format. This is the feed. widgetWidget A WordPress Widget is a small block that performs a specific function. You can add these widgets in sidebars also known as widget-ready areas on your web page. WordPress widgets were originally created to provide a simple and easy-to-use way of giving design and structure control of the WordPress theme to the user. icon link – #52880
  • Twenty Twenty-Two: Import the latest changes from GitHub – #54318
  • Twenty Twenty-Two: Sync updates from GitHub – #54318

Coding Standards

  • Wrap some long lines in js/_enqueues/admin/post.js per the JSJS JavaScript, a web scripting language typically executed in the browser. Often used for advanced user interfaces and behaviors. coding standards for better readability – #53359

Comments

  • Change new comment required text class – #16206
  • Don’t output “cancel comment reply link” if comments aren’t threaded – #37267
  • Fix PHP Notice “trying to get property of non-object” in comments_open() and pings_open()#54159

Commit Standards

Database

  • Check if the $args[0] value exists in wpdb::prepare() before accessing it – #54453

Docs

  • Add missing null allowed type for the $id parameter of wp_set_current_user()#53399
  • Add missing parameters in in_plugin_update_message-{$file} 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.#40006
  • Corrections relating to types used in inline documentation for comment ID and site ID proprties – #53399
  • Improve the documentation for registering block patterns and block pattern categories – #53399
  • Remove instances of the “eg.” abbreviation in favor of “example” or “for example” – #53330
  • Restore [51733], accidentally reverted in [52212]#40006
  • Update documentation for the $plugin_data parameter of various 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.#53399
  • Various corrections and improvements relating to types used in inline documentation – #53399

Editor

  • Add missing label to new-post-slug input on Classic Editor – #53725
  • Check the correct post type support property for initial_edits#53813
  • Do not provide initial_edits for properties that are not supported by the current post type – #53813
  • Fix fatal call to add_query_args() – #54337
  • Fix how the Site Editor is linked to – #54337
  • Fix incorrect access of ID field – #54337
  • Load iframed assets in Site Editor – #54337
  • Update wordpress packages – #54337

External Libraries

  • Update the regenerator-runtime package to version 0.13.9#54027

Formatting

  • Add additional support for single and nestable tags in force_balance_tags()#50225

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.

  • Remove empty ? when only anchor remains in add_query_arg()#44499

KSES

  • Use correct global in wp_kses_xml_named_entities()#54060

Login and Registration

  • Wrap long usernames in login error message – #54168
  • auto-focus the reset password field – #40302

Media

  • Add support for v1 and v2 gallery block in get_post_galleries()#43826
  • Featured imageFeatured image A featured image is the main image used on your blog archive page and is pulled when the post or page is shared on social media. The image can be used to display in widget areas on your site or in a summary list of posts. modal loads only selected image – #42937
  • Featured image modal loads only selected image – #53765
  • Move dismiss upload errors button after errors – #42979
  • Revert media uploader input change in [52059]#42937
  • improve error message for failed image uploads – #53985
  • Add audible notice on menu item add or remove – #53840

Posts, Post Types

  • Increment post_count option value during blogblog (versus network, site) creation – #54462, #53443
  • Increment post_count option value only on multisitemultisite Used to describe a WordPress installation with a network of multiple blogs, grouped by sites. This installation type has shared users tables, and creates separate database tables for each blog (wp_posts becomes wp_0_posts). See also network, blog, site installations – #54462
  • Multisite: Decrement post_count option value when a post is deleted – #53443
  • Use global post as the default for wp_get_post_parent_id()#48358

Query

  • Correct and standardise the 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. query documentation – #53467

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

  • Make the templates controller follow core REST patterns – #54422
  • Remove experimental block menu item types – #40878

Script Loader

  • Document path as an accepted value for $key in wp_style_add_data()#53792

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.

  • Allow get_*_*_link() and edit_term_link() functions to accept a term ID, WP_Term, or term object – #50225
  • Clarify the taxonomy labels for customizing the field descriptions on Edit Tags screen: – #43060

Themes

  • Check both parent and child themes for a theme.json file – #54401
  • Force a scrollbar on the Themes page to prevent visual shake on hover – #53478

Toolbar

  • Refine “Edit site” link.php – #54441

Upgrade/Install

  • Add timezone info to last checked update time – #53554
  • Correct the weekly cron event for clearing the temp-backup directory: – #51857
  • Deactivate the GutenbergGutenberg 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/ 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 if its version is 11.8 or lower – #54405
  • Differentiate en_US version strings from localized ones – #53710
  • Improve the accuracy of the auto_update_{$type} filter docblockdocblock (phpdoc, xref, inline docs)#53330
  • Remove 5.8 function and fix deactivate Gutenberg plugin version compare < 11.9 – #46371

Users

  • Prevent infinite 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. when using capability checks during determine_current_user on multisite – #53386

WPDB

  • Call wp_load_translations_early() in wpdb::_real_escape()#32315
  • Call wp_load_translations_early() in wpdb::query() and wpdb::process_fields()#32315
  • Capture error in wpdb::$last_error when insert fails instead of silently failing for invalidinvalid A resolution on the bug tracker (and generally common in software development, sometimes also notabug) that indicates the ticket is not a bug, is a support request, or is generally invalid. data or value too long – #37267

Widgets

  • Wraps long widget titles in classic Widgets screen – #37451

Props

Thanks to the 138 (!) people who contributed to WordPress Core on Trac last week: @hellofromTonya (20), @sabernhardt (16), @audrasjb (13), @costdev (10), @sergeybiryukov (7), @johnbillion (7), @desrosj (6), @poena (5), @afercia (5), @SergeyBiryukov (4), @peterwilsoncc (4), @davidbaumwald (4), @birgire (4), @jeffpaul (3), @dilipbheda (3), @henry.wright (3), @pbearne (2), @TimothyBlynJacobs (2), @swissspidy (2), @shaunandrews (2), @glendaviesnz (2), @antpb (2), @kjellr (2), @talldanwp (2), @pento (2), @ramonopoly (2), @manishamakhija (2), @melchoyce (2), @dlh (2), @jrf (2), @dd32 (2), @chaion07 (2), @hareesh-pillai (2), @joedolson (2), @anthonyeden (1), @anandau14 (1), @asif2bd (1), @dpegasusm (1), @datainterlock (1), @mnelson4 (1), @ovann86 (1), @dlt101 (1), @xkon (1), @sabrib (1), @pankajmohale (1), @ianhayes94 (1), @hitendra-chopda (1), @gkloveweb (1), @drewapicture (1), @bravokeyl (1), @fpcsjames (1), @nettsite (1), @galbaras (1), @henrywright (1), @TobiasBg (1), @chrisvanpatten (1), @sourovroy (1), @jorbin (1), @szaqal21 (1), @PieWP (1), @danielbachhuber (1), @benitolopez (1), @ocean90 (1), @soniakash (1), @rachelbaker (1), @jigneshnakrani (1), @zoiec (1), @jdgrimes (1), @woodyhayday (1), @travisnorthcutt (1), @skunkbad (1), @richardfoley (1), @psufan (1), @procodewp (1), @nlpro (1), @david.binda (1), @lukecarbis (1), @lucasw89 (1), @liammitchell (1), @kwisatz (1), @justindocanto (1), @mista-flo (1), @celloexpressions (1), @Mamaduka (1), @kafleg (1), @umesh84 (1), @robertghetau (1), @musabshakeel (1), @rixeo (1), @marybaum (1), @felipeloureirosantos (1), @tmatsuur (1), @hasanuzzamanshamim (1), @wetah (1), @ravipatel (1), @mukesh27 (1), @westonruter (1), @mjaschen (1), @saju4wordpress (1), @otto42 (1), @joen (1), @flixos90 (1), @clucasrowlands (1), @beafealho (1), @luminuu (1), @netweb (1), @richtabor (1), @ovidiul (1), @h71 (1), @andy-schmidt (1), @mkaz (1), @noisysocks (1), @pbiron (1), @wparslan (1), @zieladam (1), @hellofromtonya (1), @benjaminanakenam (1), @webcommsat (1), @zodiac1978 (1), @tellyworth (1), @takahashi_fumiki (1), @russhylov (1), @lynk (1), @youknowriad (1), @donmhico (1), @tobiasbg (1), @danielpost (1), @nacin (1), @alexislloyd (1), @vdwijngaert (1), @ComputerGuru (1), @benjamingosset (1), @Presskopp (1), @thimalw (1), @dufresnesteven (1), @kingkero (1), @clorith (1), and @spacedmonkey (1).

Congrats and welcome to our 8 new contributors of the week: @robertghetau, @musabshakeel, @mjaschen, @saju4wordpress, @clucasrowlands, @russhylov, @lynk, @danielpost ♥️

Core committers: @hellofromtonya (14), @audrasjb (13), @desrosj (12), @joedolson (10), @sergeybiryukov (9), @noisysocks (6), @johnbillion (3), @jffng (2), @spacedmonkey (2), @davidbaumwald (1), @peterwilsoncc (1), @adamsilverstein (1), @ryelle (1), and @timothyblynjacobs (1).

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

WordPress 5.9 Revised Release Schedule

A revised release schedule for WordPress 5.9 is available, with the final release planned for 25 January 2022.

Why the delay?

Near the end of the original alpha release cycle, issues arose that related to multiple major features planned for the 5.9 release, including:

  • Full Site Editing (FSE), which is a collection of features, such as global styles interface, Navigation 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., block themes, template editors, and site editing flows.
  • The Twenty Twenty-Two (TT2) theme, which depends on these FSE features.

The 6.0 release isn’t due until April 2022—too long for the community to wait for them. After processing this list of issues, CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Editor team saw the features could ship in 5.9 with the revised schedule. 

This decision, to delay the 5.9 release, was not made lightly. The following section shares the decision-making process.

The decision-making process

Careful, thoughtful, open discussions happened in the release squad channel, that considered  options and impacts:

  • Move the specific pieces needing fixing to 6.0.
  • Move the fixes to a 5.9 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..
  • Move the fixes to 6.0.
  • Move these major features to 6.0.
  • Delay 5.9 to include fixes.

As the FSE features are very closely intertwined, removing some of its pieces would risk making the release unstable. To avoid delivering a sub-optimal experience, moving fixes to a 5.9 minor or 6.0 was ruled out.

It came down to a choice between:

  • Option 1: Remove these major features from 5.9 to target shipping in 6.0 in April 2022.
  • Option 2: Delay the release to ship the promised major features in 5.9 in January 2022.

After consulting with advisors from previous release squads and the Core Editor team, based on the current information available, the release squad determined shipping these major features sooner rather than later would have more benefits and less impact.

The release squad respects that the community has expectations and plans for these features. The extra time in the new schedule will help everyone involved deliver the 5.9 features the community has been waiting for.

Seasonal considerations

The 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. and RC release cycles have two jobs: to get the community involved in testing and delivering feedback, and to give contributors a block of time to fix identified issues before the final release.

The third major releasemajor 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. of the year was originally scheduled for the middle of December. Historically, fewer people are available the last two weeks of a year and the first week of a new year, because of various holidays, time off, and end-of-year and annual planning. This means there would be fewer people to test, give feedback, fix reported issues, and help package each release.

The revised schedule takes into account the realities of year-end and offers an optional Beta 4 if needed.

A schedule that delivers the full release 

5.9 is still in feature freeze. Work from here on is strictly to address the changes that get the release to a stable state.

The revised schedule also has a number of built-in safety measures:

  • More transparency. Constant communication between the release squad and Core Editor team throughout each week, so everyone involved knows the status of relevant items and can surface (and meet!) needs as early as possible.
  • 🔺blockers merged by Beta 1. An agreement that blockers (identified as🔺 in the list) must be ready by Beta 1 or risk getting moved to 6.0. (Update: these items were merged last week and are no longer blockers.)

How can you help?

Above all, please help test everything.

  • Get involved in the FSE Program testing calls including testing the site-editing experience. You can find a record of all the FSE Outreach exercises; feel free to go back and test any that interest you, but keep in mind that features have evolved.
  • Spin up a test site that uses Twenty Twenty-Two. If you find issues, please report them by opening a Trac ticket
  • Important: Try to break things to find things that may not work for your test sites. 
  • If you’re available, come to the Beta and 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). (RC) release parties, and bring friends! Test the packages when they drop. The parties take place in the Core channel of the Make 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/..
  • Come to the Slack meetings for Core and the Core Editor, and keep reading the posts on the Make.WordPress.orgWordPress.org The community site where WordPress code is created and shared by the users. This is where you can download the source code for WordPress core, plugins and themes as well as the central location for community conversations and organization. https://wordpress.org/ blogblog (versus network, site).
  • Share feedback! The teams need to know everything that breaks, and everything that works really well, too.
    • For issues with GutenbergGutenberg 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/, create an issue on GitHubGitHub GitHub is a website that offers online implementation of git repositories that can can easily be shared, copied and modified by other developers. Public repositories are free to host, private repositories require a paid subscription. GitHub introduced the concept of the ‘pull request’ where code changes done in branches by contributors can be reviewed and discussed before being merged be the repository owner. https://github.com/.
    • For issues anywhere else, start a ticket on TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress..

Props @marybaum, @annezazu, @costdev, @webcommsat, @cbringmann for collaborating and proofreading this post.

#5-9