Summary, Dev Chat, Apr 2, 2025

Startย of the meeting inย 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/, facilitated by @benjamin_zekavica. ๐Ÿ”— Agenda post.

Announcements ๐Ÿ“ข

WordPress 6.8 | 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). 2 is now available ๐Ÿฅณ

The Release Candidate 2 release of WordPress 6.8 is now available! A heartfelt thank you to everyone who joined the Release Party. We appreciate your testing and feedback.

@jeffpaul reminds all CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Committers to read this article and follow the outlined process for the upcoming steps: WordPress 6.8 Release Candidate Phase

Help Test 6.8 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. version ๐Ÿงช

The Test-Team has written two helpful guides for people interested in testing:

Forthcoming releases ๐Ÿš€

Release Candidateย 3: April 8, 2025

Theย Release Candidateย 3ย release of WordPress 6.8 will be available onย Tuesday, April 8, 2025.

A detailed overview of the release schedule for WordPress 6.8 can be found here. The article also includes information about the individuals assigned to each release party.

Nextย 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/ version: 20.6

Gutenberg 20.6 is scheduled for release onย Wednesday, April 2, 2025.

Nextย 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.: 6.8

We are currently in theย WordPress 6.8 release cycle. Read more aboutย the release squad, timeline and focus for this release.

Highlighted posts โœจ

Discussion ๐Ÿค”

There were no significant topics that we would list in the summary.

Open Floor ๐Ÿ’ฌ

PHPDocs Improvements

@sirlouen is requesting a status update on Ticketticket Created for both bug reports and feature development on the bug tracker. #57299 on Core TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress., which concerns the improvement of PHPDocs for arrays. The goal is to enhance code quality and developer-friendliness in WordPress.

Style Book Integration

@smrubenstein is asking for advice on handling tab color states. Currently, custom color attributes and slotfill are used for the color inspector, but thereโ€™s no clear way to define 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. states like hover or focus. Heโ€™s asking how to integrate these into the Style Book and Style Engine so users can set default values.

Github Pull-Request

#6-8, #core, #dev-chat, #summary

Agenda, Dev Chat, Apr 2, 2025

The next WordPress Developers Chat will take place on Wednesday at 15:00 UTC in theย coreย channel onย Make WordPress Slack.

The live meeting will focus on the discussion for upcoming releases, and have an open floor section.

Additional items will be referred to in the various curated agenda sections below. If you haveย ticketticket Created for both bug reports and feature development on the bug tracker.ย requests for help, please continue to post details in the comments section at the end of this agenda.

Announcements ๐Ÿ“ข

WordPress 6.8 | 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). 2 is now available ๐Ÿฅณ

The Release Candidate 2 release of WordPress 6.8 is now available! A heartfelt thank you to everyone who joined the Release Party. We appreciate your testing and feedback.

@jeffpaul reminds all CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Committers to read this article and follow the outlined process for the upcoming steps: WordPress 6.8 Release Candidate Phase

Help Test 6.8 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. version ๐Ÿงช

The Test-Team has written two helpful guides for people interested in testing:

Forthcoming releases ๐Ÿš€

Release Candidateย 3: April 8, 2025

Theย Release Candidateย 3ย release of WordPress 6.8 will be available onย Tuesday, April 8, 2025.

A detailed overview of the release schedule for WordPress 6.8 can be found here. The article also includes information about the individuals assigned to each release party.

Nextย 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/ version: 20.6

Gutenberg 20.6 is scheduled for release onย Wednesday, April 2, 2025.

Nextย 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.: 6.8

We are currently in theย WordPress 6.8 release cycle. Read more aboutย the release squad, timeline and focus for this release.

Highlighted posts โœจ

Discussions ๐Ÿค”

The discussion section of the agenda is to provide a place to discuss important topics affecting the upcoming release or larger initiatives that impact the Core Team. To nominate a topic for discussion, please leave a comment on this agenda with a summary of the topic, any relevant links that will help people get context for the discussion, and what kind of feedback you are looking for from others participating in the discussion.

At the moment, there are no topics for discussion.

Open floor ย ๐Ÿ’ฌ

Any topic can be raised for discussion in the comments, as well as requests for assistance on tickets. Tickets in the milestone for the next major or maintenance release will be prioritized.

Please include details of tickets / PRs and the links in the comments, and indicate whether you intend to be available during the meeting for discussion or will be async.

#6-8, #agenda, #dev-chat

WordPress 6.8 Field Guide

This guide outlines major developer features and breaking changes in 6.8 and is published in the 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). phase to help inform WordPress extending developers, CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. developers, and others.

There are more than 300 Core Trac tickets included in WordPress 6.8, 104 of which are enhancements and feature requests, and more than 170 bug fixes. This release includes 23 tickets focused on performance, 34 on accessibility, and 16 on modernizing code and applying coding standards. Changes in 6.8 are spread across 43 Core components.

This release also includes 387 enhancements, 525 bug fixes, and 70 accessibility improvements for the BlockBlock Block is the abstract term used to describe units of markup that, composed together, form the content or layout of a webpage using the WordPress editor. The idea combines concepts of what in the past may have achieved with shortcodes, custom HTML, and embed discovery into a single consistent API and user experience. Editor (a.k.a. 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/).

Below is a breakdown of the most important developer-related changes included in WordPress 6.8.


Table of contents


Block Editor

A wide array of improvements enhance performance, developer experience, and the overall editing interface.ย  This release introduces new tools like the should_load_block_assets_on_demand 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. for optimizing asset loading, a helpful warning system for developers using useSelect, and a more efficient block registration system.ย  Additionally, it updates the design tool availability per block, polishes user interface components, and delivers a collection of miscellaneous refinements that improve consistency and extensibility.

Performance and Asset Loading

New tools support developers in building more performant block-based experiences.ย  A warning in the useSelect hook alerts when selectors are defined inlineโ€”a common pattern that can lead to unnecessary re-renders.ย  The should_load_block_assets_on_demand filter offers fine-grained control over whether block assets are enqueued globally or only when needed, helping reduce unused CSSCSS Cascading Style Sheets. and JavaScriptJavaScript JavaScript or JS is an object-oriented computer programming language commonly used to create interactive effects within web browsers. WordPress makes extensive use of JS for a better user experience. While PHP is executed on the server, JS executes within a userโ€™s browser. https://www.javascript.com on the front end.ย  Together, these enhancements promote more efficient and optimized development workflows.

Block and Design Tool Registration

Improvements to block registration and design tool visibility streamline development and enhance clarity.ย  A more efficient approach to block type registration reduces the overhead of loading block metadata, especially in environments with many custom blocks.ย  Complementing this, the updated roster of design tools per block outlines which blocks support tools like padding, margin, and typographyโ€”giving developers a clearer picture of available customization options and improving consistency in the editor experience.

Editor UIUI User interface and Component Updates

Refinements across the block editor interface improve consistency, usability, and developer ergonomics.ย  Updates to core UI componentsโ€”such as buttons, inputs, and layout primitivesโ€”align styling and behavior with the emerging 40px design system standard.ย  Additional changes include improved markup consistency in the Navigation block, enhanced preview content for the Group block, and better 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) across interface elements.ย  Together, these updates support a more polished and predictable editing experience.

Accessibility

A broad set of accessibility enhancements improves navigation, markup clarity, and screen reader support throughout the block editor.ย  The .screen-reader-text class now offers more consistent focus behavior across components, while dozens of refinements address menu structures, block labels, tooltips, and interface semantics.ย  These changes create a more inclusive editing experience and bring the block editor closer in line with accessibility best practices.

Internationalization

Several improvements to internationalization tooling and infrastructure enhance the translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. and localization experience for both developers and users.ย  Updates include new and refined translation functions, consistency fixes, and improved support for plural formsโ€”making it easier to build plugins, themes, and interfaces that are fully translatable and globally accessible.

Performance

New tools and guidance help developers build faster, more responsive experiences.ย  The speculative loading feature leverages the Speculation Rules 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. to prefetch or prerender likely navigation targets, improving perceived performance for end users.ย  Additionally, updated best practices for the Interactivity API provide recommendations for writing efficient, scalable interactive front-end codeโ€”supporting modern, performance-focused development in WordPress.

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/

Enhancements to the REST API expand its flexibility and usefulness for headless and decoupled WordPress applications.ย  A new filter, rest_menu_read_access, allows developers to control public access to navigation menus, menu items, and menu locations via the REST API.ย  This change enables more precise control over what menu data is exposed, supporting a wider range of front-end implementations and use cases.

Security

Password security is strengthened with support for bcrypt as the new default hashing algorithm.ย  This change modernizes WordPressโ€™s password storage, offering improved resistance to brute-force attacks and aligning with current industry best practices.ย  Existing passwords remain valid and will be rehashed with bcrypt upon the next successful login.

Miscellaneous Developer Changes

A range of smaller developer-focused updates improves consistency, extensibility, and the overall development experience.ย  These changes span various areas of core, including media handling, shortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. output, post type registration, scheduling, and theme support.ย  While individually minor, they collectively reflect ongoing efforts to modernize WordPress and provide a more predictable and flexible foundation for developers.

But wait, there is more!

6.8 offers so much more!ย  More than 170 bugs, 104 enhancements and feature requests, and 21 blessed tasks have been marked as fixed in WordPress 6.8.ย  WordPress 6.8 will display Emoji 15.1โ€™s new emojis for visitors not able to display them natively, such as the ๐Ÿฆโ€๐Ÿ”ฅ.

Below are a few more to highlight:

  • Administration: Replace โ€œAdd New {Item}โ€ wording with โ€œAdd {Item}โ€ across the administration (#61219)
  • Bundled Theme: Improve text strings in Twenty Twenty-Five (#62482)
  • Bundled Theme: Accessibility additions to the site title link (#62895)
  • Date/Time: Date setting should have two more options: j.n.Y and d.m.Y (#55685)
  • Embeds: Add Canva as an oEmbed provider (#58840)
  • 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: Rename the setted_transient action to set_transient (#62849)
  • REST API: Handle trailing slashes in rest_preload_api_request (#57048)
  • Security: Explicitly require the hash PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher extension and add requirement checks during installation and upgrade (#56017)
  • Upgrade/Install: Prevent an unnecessary 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. update check when the plugin update data is up to date (#44118)
  • Widgets: Add post type support to get_calendar() function. This changeset also introduces a new get_calendar_args filter. (#34093)

Please, test your code.ย  Fixing issues that your code has with WordPress core helps you and millions of WordPress sites.ย  Please test your code.

Props to @joedolson @webcommsat @audrasjb @jorbin for review.

#6-8, #field-guide

New REST API Filter for Exposing Menus Publicly in WordPress 6.8

In WordPress 6.8, the 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/ will allow public access to menu data.

That enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. addresses a longstanding need for headless CMS implementations and custom front-end applications. Before, accessing menu data via the REST API required user authentication with appropriate capabilitiescapability Aย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โ€œedit_postsโ€ capability), but not permission to edit other usersโ€™ posts (the โ€œedit_others_postsโ€ capability).. In turn, that limited the potential user base for REST API implementations.

Now, with this update, you can expose menus, menu items, and menu locations publicly via the REST API, making WordPress content available to more platforms than ever.

Key Changes for Developers:

  • FilterFilter Filters are one of the two types of Hooks https://codex.wordpress.org/Plugin_API/Hooks. They provide a way for functions to modify data of other functions. They are the counterpart to Actions. Unlike Actions, filters are meant to work in an isolated manner, and should never have side effects such as affecting global variables and output. to Control Menu Exposure: A new filter, rest_menu_read_access, manages the visibility of menu data in the REST API.ย  By default, menus are not exposed publicly.ย  You can use this filter to specify which menus should be accessible via the REST API.
  • Per-Menu and Endpoint-Level Control: The rest_menu_read_access filter can be used to expose specific menusโ€”and now also applies to menu items and menu locationsโ€”based on custom logic.ย  The filter receives the current REST controller class as a parameter, allowing developers to control public exposure granularly depending on which endpoint is being accessed.ย  This provides powerful flexibility to tailor REST API access across different menu-related endpoints, while ensuring that only intended data is made public.

Code Example:

To expose all menus publicly via the REST API, add this code to your themeโ€™s functions.php file or a custom 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.:

add_filter( 'rest_menu_read_access', '__return_true' );

This snippet uses the rest_menu_read_access filter to return true for all menus, making them accessible through the REST API.

For more selective exposure, you can implement conditional logic within the filter:

function filter_primary_menu_rest_visibility( $show_in_rest, $request, $instance ) {

ย ย ย if( $instance::class !== โ€˜WP_REST_Menu_Locations_Controllerโ€™ ){

ย ย ย ย ย ย ย return $show_in_rest;

ย ย ย }

ย ย ย if ( isset( $request['location'] ) && 'primary' === $request['location'] ) {

ย ย ย ย ย ย ย return true;

ย ย ย }

ย ย ย return $show_in_rest;

}

add_filter( 'rest_menu_read_access', 'filter_primary_menu_rest_visibility', 10, 3 );

In this example, only the request to the primary menu location, (wp-json/wp/v2/menu-locations/primary) is exposed via the REST API, while others remain restricted.

Extensibility Considerations:

  • Default Behavior: Menus are not exposed publicly by default.ย  Developers must explicitly opt-in to expose menu data via the REST API using the provided filter.
  • Backward Compatibility: This enhancement is fully backward-compatible.ย  Existing functionality remains unchanged unless the new filter is utilized to alter the default behavior.
  • Security Implications: When exposing menu data publicly, consider the content and structure of your menus to ensure no sensitive information is inadvertently made accessible.

These new capabilities give you the power to seamlessly integrate WordPress menus into decoupled architectures and enhance the flexibility of your content delivery strategies.ย  For more information, visit #54304.

Props to @joemcgill @spacedmonkey @marybaum @benjamin_zekavica for authoring and review.

#6-8-2, #dev-notes, #dev-notes-6-8

Summary, Dev Chat, Mar 26, 2025

Startย of the meeting inย 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/, facilitated by @francina. ๐Ÿ”— Agenda post.

Announcements ๐Ÿ“ข

WordPress 6.8 |ย 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).ย 1 is now available ๐Ÿฅณ

Theย Release Candidate 1 release of WordPress 6.8ย is now available! A heartfelt thank you to everyone who joined the Release Party. We appreciate your testing and feedback.

@jeffpaulย reminds allย CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.ย Committers to read this article and follow the outlined process for the upcoming steps:ย WordPress 6.8 Release Candidate Phase

We are in the process of finalizing the development notes, after which theย Field GuideField guide The field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page.ย will be released, followed by an email toย PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party.ย Authors containing the necessary information.

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/ย 20.5 is now available

The new version of the Gutenberg plugin is now available in ourย plugin directory.

Help Test 6.8ย 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.ย version ๐Ÿงช

The Test-Team has written two helpful guides for people interested in testing:

Forthcoming releases ๐Ÿš€

Release Candidateย 2 of 6.8:ย April 1st

Theย Release Candidateย 2ย release of WordPress 6.8 will be available onย Tuesday, April 1, 2025.

A detailed overview of the release schedule for WordPress 6.8 can be foundย here. The article also includes information about the individuals assigned to each release party.

Nextย Gutenberg version: 20.6

Gutenberg 20.6 is scheduled for release onย Wednesday,ย April 2, 2025.

Nextย 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.: 6.8

We are currently in theย WordPress 6.8 release cycle. Read more aboutย the release squad, timeline and focus for this release.

Discussion ๐Ÿค”

Hosting Issues Found During 6.8 RC1 Release Party

@joemcgill created a follow-up ticketticket Created for both bug reports and feature development on the bug tracker. (#63175) to update the tests and might need additional support.

@johnbillion explained that the fail() method is being called because the test environment doesnโ€™t support Argon2. There have been discussions about whether this should cause the test to fail or be skipped. Skipping would be risky, as itโ€™s harder to spot if, for example, the PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher version in GitHubGitHub GitHub is a website that offers online implementation of git repositories that 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 by the repository owner. https://github.com/ Actions suddenly stops supporting something the test depends on. @desrosj is currently investigating why the failures are happening in their setup.

RCrelease candidate One of the final stages in the version release cycle, this version signals the potential to be a final release to the public. Also see alpha (beta).-Testing and Bug Triagetriage The act of evaluating and sorting bug reports, in order to decide priority, severity, and other factors.

@joemcgill reminded everyone to monitor the new tickets and forum feedback as RC testing begins. He emphasized flagging any bugs related to the 6.8 release, noting that a few tickets from yesterday still need triaging.

Open Floor ๐Ÿ’ฌ

There were no significant topics that we would list in the summary.

#6-8, #core, #dev-chat, #summary

Accessibility Improvements in WordPress 6.8

WordPress 6.8 introduces a comprehensive set of 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) improvements across WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. 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/ 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. Editor, making the platform more inclusive and user-friendly. These updates span administration, customization, themes, editing workflows, and the block editor, ensuring a smoother experience for users relying on assistive technologies.

Core

In WordPress Core, improvements include 33 accessibility fixes across all bundled themes, completion of a long-term effort to remove title attributes in the adminadmin (and super admin) interface, and better navigation menuNavigation Menu A theme feature introduced with Version 3.0. WordPress includes an easy to use mechanism for giving various control options to get users to click from one place to another on a site. management. 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. and Administration areas have significant updates, from more descriptive labels, clearer screen reader feedback, and better motion preferences support.

Administration

Several accessibility enhancements to the admin interface make it easier for all users, including those relying on assistive technologies, to navigate and interact with the dashboard. These updates improve clarity, feedback mechanisms, and usability across key administrative areas.

Simplified โ€˜Add Newโ€™ Labels

The โ€˜Add Newโ€™ labels for core post types have been streamlined. For instance, โ€˜Add New Postโ€™ is now โ€˜Add Postโ€™, reducing verbosity and aligning with Gutenbergโ€™s button labeling conventions (#61219).

Screen Reader Confirmation for Screen Options

When users adjust settings in the Screen Options panel, screen readers now announce confirmations of saved changes. This provides immediate feedback, enhancing the experience for visually impaired users (#62550).

Elimination of Empty Author Links

In list tables, entries without an assigned author used to display empty anchor tags. That caused usability issues for keyboard and screen reader users. Now, if no author is assigned, the field displays an em dash (โ€”) with a screen reader-friendly โ€˜(no author)โ€™ label, improving clarity and accessibility (#62913).

Removal of title Attributes

Lots of unnecessary and often redundant title attributes have been removed from the WordPress admin interface, making the interface easier to use for visually impaired users and more in line with best accessibility practices.

This change continues a broader effort started in WordPress 3.7 (#24766).

Customizer

In the Customizer, WordPress 6.8โ€™s accessibility improvements add clarity, reduce unnecessary attributes, and make life easier for assistive technologyAssistive technology Assistive technology is an umbrella term that includes assistive, adaptive, and rehabilitative devices for people with disabilities and also includes the process used in selecting, locating, and using them. Assistive technology promotes greater independence by enabling people to perform tasks that they were formerly unable to accomplish, or had great difficulty accomplishing, by providing enhancements to, or changing methods of interacting with, theย technology needed to accomplish such tasks. https://en.wikipedia.org/wiki/Assistive_technology users. They restore proper heading semantics, improve 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. area selection, and respect user motion preferences.

Restoring Heading Semantics in Customizer Navigation Menus

WordPress 6.8 removes the role="presentation" attribute from <h4> section headings in the Customizerโ€™s navigation menus. This change restores proper heading semantics, making the Customizer interface easier to navigate for users relying on assistive technologies (#62215).

Displaying 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. Descriptions in Widget Area Selection

The Customizerโ€™s widget area selection now displays sidebar descriptions directly below their names, replacing the previous title attribute tooltips. This adjustment makes sidebar information more accessible to all users, particularly those using assistive technologies (#62836).

Respecting Reduced Motion Preferences in the Customizer

The Customizer now respects usersโ€™ preferences to minimize non-essential motion, as indicated by the prefers-reduced-motion media query. This enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. reduces animations and transitions for users who have opted for reduced motion, providing a more comfortable experience (#62806).

Editing

Several accessibility improvements to the editor experience make it more intuitive and user-friendly for all users, including those relying on assistive technologies. These updates simplify interface elements, improve keyboard navigation, and remove redundant attributes for a more accessible editing workflow.

Conditional Display of โ€˜Disable the Visual Editorโ€™ Option

The โ€˜Disable the visual editor when writingโ€™ option in user profiles has changed. Now it only appears if it is currently enabled, allowing users who have previously disabled the visual editor to re-enable it. For users who have not disabled the visual editor, the option is hidden, simplifying the user interface and reducing potential confusion (#34681).โ€‹

Renaming the โ€˜Textโ€™ Tab to โ€˜Codeโ€™

The โ€˜Textโ€™ tab in the Classic Editor is now called โ€˜Codeโ€™. This change makes it clear to nontechnical users that the tab is for code editing. (#38061).

Removal of Redundant title Attributes in Classic Editor

WordPress 6.8 moves the title attributes used with placeholder images in the classic editor to the alt attribute. Where images previously did not differentiate between different placeholders, they have been replaced with unique images.ย  (#62861).

Ensuring Visibility of Screen Reader Shortcuts in Block Editor

Screen reader shortcuts are now consistently visible, so users with visual impairments can access necessary navigation aids regardless of screen size. This fixes an issue where the shortcuts were hidden in the block editor on smaller screens (#63084).

Miscellaneous

Beyond updates across core components, WordPress 6.8 adds several accessibility enhancements that refine various admin interfaces, semantic HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers., and content interactions for a more inclusive experience.

Improved Feedback for Password-Protected Posts

Users who enter an incorrect password on a password-protected post will now see an error message, improving feedback and reducing confusion (#37332).

Accessible Validation for Custom Menu Links

The validation process for custom links in the admin menu is now consistent and accessible, so 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. URLs trigger accessible feedback for sighted users and users of screen readers (#60969).

Updated screen-reader-text CSSCSS Cascading Style Sheets. Class

The screen-reader-text class and its local implementations have eliminated outdated clip and -webkit-clip properties to improve styling consistency. (#62238).

Fix for Comment Reply Form Escape Key Behavior

Pressing Escape to close the comment reply form no longer causes content loss (#62346).

Removal of Redundant title Attributes

6.8 removes the title attribute on the shortlink function (the_shortlink()), for cleaner markup and better compatibility with screen readers (#62838).

The title attributes in the calendar widget column headers are also gone, as are any redundant or unclear tooltips (#62860).

Improved HTML Semantics in Site Health Info Tables

The Site Health Info tables have better structured HTML, making it easier for assistive technologies to parse and read content (#62880).

Themes

Several accessibility enhancements have come to the Themes component, improving navigation, readability, and customization.

Theme Details Dialog Overlay

The Theme Details dialog previously obscured the admin sidebar sub-menu navigation, hindering accessibility. Thanks to this fix, the dialog no longer hides the sidebar, allowing seamless navigation (#41155).

โ€œSkip to Contentโ€ Link Enhancement

The โ€œSkip to contentโ€ link lacked a corresponding ID, reducing its effectiveness for keyboard navigation. Now the main content area has a unique ID, so users can bypass repetitive elements more efficiently (#62311).

Improved aria-current Management for Custom Logos

The logic to show that a linked logo pointed to the current page has improved, so users of screen readers get better information. (#62879)

Removal of Redundant Title Attributes

Title attributes in theme list tables, often redundant and confusing, are now gone. The result: a cleaner and more accessible interface (#62834).

Support for :focus-visible Pseudo-Selector in 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 enhance focus styles, particularly for keyboard users, theme.json supports the :focus-visible pseudo-selector. That lets theme developers define focus styles apply only when an element receives focus via keyboard navigation (#62906).

Bundled Themes

WordPress 6.8 adds accessibility enhancements across multiple bundled themes that refine skip links, menu interactions, and accessibility attributes to enhance the experience for all users.

Skip Link Placement Adjustments

  • Twenty Ten: The skip link now appears earlier in the markup for better keyboard navigation (#14795).
  • Twenty Twelve, Thirteen, and Fourteen: Now skip links appear before navigation elements, ensuring a logical tab order (#62967, #62968, #62969).

ARIA Attribute Improvements in Menus

  • Twenty Twelve: The mobile menu button now includes an aria-expanded attribute to indicate its state (#62892).
  • Twenty Fifteen: Updates to ARIA attributes ensure the primary menu is properly labeled for assistive technologies (#62936).
  • Twenty Nineteen: Limits the scope of aria-haspopup and aria-expanded attributes only to menu items with submenus, reducing unnecessary attributes (#62896).
  • Twenty Twenty: The horizontal menuโ€™s submenus are now dismissible, making it easier to close expanded menus (#49950).
  • Twenty Twenty-One: The primary menu now includes aria-controls attributes, ensuring proper interaction for screen reader users (#62973).

Improved Accessibility for Site Titles

Bundled themes now add accessibility attributes to the site title link, making it easier for assistive technologies to interpret site navigation (#62895).

Gutenberg

The Block Editor saw over 70 accessibility enhancements that enhance core blocks, global styles, popovers, tooltips, and the editor interface itself. Additionally, improvements to the DataViews component refine media selection, layout semantics, and interactive elements, ensuring a more accessible editing experience.

Blocks

WordPress 6.8 introduces significant accessibility enhancements to Gutenbergโ€™s core blocks, improving usability, clarity, and assistive technology support. Updates include better labeling and terminology for the Query 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, Post URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org, and Navigation blocks, ensuring clearer communication for all users. Focus management fixes include preventing focus loss in the Site Logo block and improving keyboard navigation for the Site Icon component. Refinements to ARIA attributes and tooltips across Image, Video, and Navigation blocks eliminate redundant elements and improve screen reader compatibility.

In short, the 6.8 block editor is the most accessible, intuitive, and inclusive itโ€™s ever been:

  • Query Loop Block Enhancements: Made the display settings labels for the Query Loop block clearer to users (#65524).โ€‹
  • Post URL Accessibility: Made the terminology in the Post URL component more intuitive for all users (#63669).โ€‹
  • Radius Control Simplification: Removed unnecessary, confusing tooltip components from the radius control linked button (#66274).โ€‹
  • 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. Alt Text: Added alt text and fallback options for featured images in the editor sidebar, ensuring better accessibility for screen readers (#66189).โ€‹
  • Link Preview Improvements: Made labeling of link previews more accessible, informative, and user-friendly (#60908).โ€‹
  • Site Icon Focus Fix: Addressed focus issues with the Site Icon component, ensuring consistent and expected behavior (#66952).โ€‹
  • Image Block ARIA Attributes: Added the aria-haspopup property to the Image blockโ€™s โ€œMore toolsโ€ menu items, improving screen reader interactions (#66815).โ€‹
  • Video Block Tooltip Removal: Eliminated unnecessary tooltips from the Video blockโ€™s text tracks button (#66716).โ€‹
  • Navigation Block ARIA Label: Fixed the ariaLabel block support in the Navigation block, ensuring accurate labeling for assistive technologies (#66943).โ€‹
  • Featured Image UIUI User interface Enhancement: Gave clearer user feedback for featured images when the image file cannot be retrieved (#66936).โ€‹
  • Video Track Editor Accessibility: Made the video track editor more accessible, navigable and usable for all users (#66832).โ€‹
  • Menu Selection Label Fix: Corrected the โ€œChoose menuโ€ label when a menu has been deleted to give users accurate information (#67009).โ€‹
  • Site Logo Focus Preservation: Prevented focus loss when updating media from the sidebar in the Site Logo component for a seamless editing experience (#68621).
  • Lightbox Feature Label Consistency: Fixed inconsistent labels for the Lightbox feature for uniform terminology across the editor and frontend (#68261).
  • Navigation Element Labeling: Replaced the term โ€œnavigationโ€ with โ€œmenuโ€ in navigation element labels, aligning with accessibility best practices (#68683).
  • Navigation Link Tooltip Removal: Removed non-interactive tooltips from Navigation Link blocks (#68628).

DataViews

In the latest updates to Gutenbergโ€™s DataViews component, several accessibility improvements have been implemented to enhance user interaction and compliance with accessibility standards.

  • Badge Color Contrast Adjustment: Improved the color contrast of badges, for readability for users with visual impairments (#66360).
  • Focus Management Fixes: Fixed issues where focus was lost after removing or resetting all filters, for a consistent user experience (#67003).
  • Keyboard Interaction Enhancements: Enforced expected keyboard behavior, that pressing the spacebar triggers media buttons in grid view (#67791).
  • Accessible Naming for Media Buttons: Added accessible names to media buttons in page view grids, improving screen reader navigation (#67690).โ€‹
  • Semantic HTML Corrections: Removed inappropriate use of the grid role on ul elements in list layouts, following semantic HTML practices (โ€‹โ€‹#67849).
  • Visible Focus Indicators: Addressed the lack of visible focus styles on media items in grid view, so users can identify focused elements (#67789).
    Simplified Checkbox Labels: Removed extraneous labeling from checkboxes in data views, improving the interface for assistive technologies (#67868).

Miscellaneous

WordPress 6.8 introduces several accessibility improvements that improve editor responsiveness, modal dialogs, search inputs, button components, motion preferences, color contrast, and focus management.

Editor Resizability and Responsiveness

  • Resizable Editor with Keyboard Support โ€“ Users can now adjust the editor size using arrow keys, improving accessibility for keyboard users (#65546).
  • Responsive .screen-reader-text CSS โ€“ Updates ensure better readability and responsiveness for screen reader text across devices (#66145).

Modal Dialogs and Popovers

  • Improved Modal Dialog Accessibility โ€“ Enhancements to modal dialogs make them more accessible for screen reader users (#65941).
  • Popover Close Button Labeling โ€“ The close button in popovers now includes accessible labels, aiding assistive technology users (#66813).

Search Inputs and Global Styles

  • Consistent Search Input Labeling โ€“ Visible labels now match actual labels in search inputs (#65458).
  • Global Styles Menu Labeling โ€“ Adjustments prevent mismatches between visible labels and accessible names in global styles menus (#65124).

Snackbar Notices and Sidebar Navigation

  • Snackbar Notice Consistency โ€“ Fixes ensure uniform messaging and behavior across snackbar notices (#66405).
  • Sidebar Navigation Focus Visibility โ€“ The focus style in sidebar navigation is now fully visible, to aid keyboard navigation (#67817).

Button Components and Motion Preferences

  • Button Component Enhancements โ€“ Secondary variant buttons now include hover styles, and unnecessary tooltips have been removed (#67325, #68498).
  • Reduced Motion Handling โ€“ Standardized handling of reduced motion preferences ensures a better experience for users sensitive to motion (#68417, #68426, #68425, #68423, #68315).

Color Picker and Contrast Checker

  • Color Picker Accessibility โ€“ The color picker includes accessible labels for copy buttons (#67094).
  • Contrast Checker CSS Simplification โ€“ Unnecessary CSS properties have been removed from the contrast checker in the color hook (#68055).

Pattern Modal and Post Editor

  • Pattern Modal Focus Management โ€“ When the user inserts a pattern, the modal closes. Focus shifts to the newly inserted pattern (#68975).
  • Post Editor CSS Class Fixes โ€“ Corrections make theming and functionality consistent in the post editorโ€™s iframe body (#68481).

Keyboard Navigation and Screen Reader Enhancements

  • Improved Speak Messages for Mode Switching โ€“ Screen readers now announce clearer messages when users switch editor modes (#66278).
  • Speak โ€˜Block Movedโ€™ Notification for Keyboard Users โ€“ Users moving blocks with keyboard actions now receive an audible confirmation from screen readers (#64966).

UI Consistency and Focus Management

  • Fix Inconsistent Sidebar Close Button Sizes โ€“ Sidebar close buttons have consistent sizing across the interface (#66756).
  • Increase Modal Close Button Size โ€“ The close button in modals is bigger (#66792).
  • Improve โ€˜Last Modifiedโ€™ 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. Button Accessibility โ€“ The Revisions button has better labeling for screen reader users (#66606).
  • Improve Accessibility of the Warning Component โ€“ Enhanced the Warning component to improve contrast, visibility, and screen reader support in the block editor (#67433).
  • Improve EntitiesSavedStates Modal Dialog Design & Labeling โ€“ Better visual clarity and accessibility of the EntitiesSavedStates modal (#67792).

Refinements in Block Patterns, Global Styles, and Layout Components

  • Fix Visual Title and Tooltip Inconsistencies in Block Patterns List โ€“ Fixed inconsistencies in visual titles and tooltips in block patterns (#64815).
  • Fix: Templates and Patterns Nesting Two Button Elements โ€“ Corrected nesting of multiple elements with the button role in templates and patterns, for better accessibility (#67801).
  • Fix Inserter CategoryCategory The 'category' taxonomy lets you group posts / content together that share a common bond. Categories are pre-defined and broad ranging. Tabs Unnecessary ARIA Label โ€“ Avoids redundant ARIA labels, so screen readers deliver clear navigation (#68160).
  • Add Missing List Role to Global Styles Block List โ€“ Delivers proper accessibility semantics in the Global Styles panel (#69027).
  • Preserve ARIA Label Value in Comment Delimiter Block Support โ€“ Makes screen readers correctly interpret comment delimiter sections (#69002).

Improvements to UI Components and Controls

  • Replace ButtonGroup Usage with ToggleGroupControl โ€“ Updated the ButtonGroup component to use ToggleGroupControl, for better usability and accessibility (#65346).
  • Fix Incorrect Usage of ItemGroup in the Image Block Filters Panel โ€“ Corrected nested elements and fixing accessibility issues in the filters panel (#67513, #67427).
  • Fix EntitiesSavedStates Panel Dialog Props โ€“ Refined dialog properties to improve screen reader support (#67351).
  • BoxControl ARIA Value Fix โ€“ The aria-value text attribute in BoxControl now delivers correct screen reader output (#68362).
  • BlockSwitcher Refactor โ€“ Improved layout in BlockSwitcher for better consistency (#67502).
  • CustomSelectControl Refactor โ€“ Updated CustomSelectControl to use Ariakit state management, ensuring better UI behavior (#67815).
  • Fix Tooltip Usage in Circular Option Picker โ€“ Corrected tooltip behavior for proper user interaction (#68602).

Enhancements to Style and Theme Components

  • Remove clip and -webkit-clip for Block Library Styles โ€“ Eliminated outdated clip and -webkit-clip properties (#66144, #66147).
  • Visual Refactor: Add Chevron Icon for Shadows in Global Styles โ€“ Improves visibility of shadow settings in the UI (#67720).
  • Shadows: Always Show Reset Button When Hover Is Not Supported โ€“ Ensures accessibility by keeping reset options visible for users without hover support (#68122).

Enhancements for Text and Font Controls

  • Update Description for โ€˜Contain Text Cursor Inside Blockโ€™ Preference โ€“ Explains cursor containment settings more clearly (#68132).
  • Font Size Picker: Remove โ€˜Customโ€™ Option in Dropdown โ€“ Simplifies the font size picker UI (#69038).
  • InputControl: Ensure Consistent Placeholder Color โ€“ Adjusted placeholder text styling for better consistency across the UI (#69334).
  • Cover Block: Fix Placeholder Color Options Keyboard Accessibility โ€“ Makes sure users can navigate placeholder color options with the keyboard (#68662).

Props to @jeffpaul, @marybaum, @benjamin_zekavica, @audrasjb for editing and review.

#6-8, #dev-notes, #dev-notes-6-8

Performance Chat Summary: 25 March 2025

The full chat log is available beginning here on Slack.

Performance Lab plugins

  • As a consequence from the previous meeting and last weekโ€™s release (which for the first time saw releases for only a few of the performance plugins, without Performance Lab), changes to the release cadence were defined
  • Specifically, the team will change release cadence from monthly to on-demand (which could be more frequent or less frequent).
  • Consequently, the release procedure will be much more streamlined, avoiding the previously used โ€œrelease partyโ€ format in favor of someone simply following the release handbook and sharing progress along the way.
  • Related to that, @westonruter has taken the separateย release party chatsย handbook docs and moved the relevant example chats inline with the sections in theย releasing the pluginย handbook page. This eliminates the duplication of release instructions between the two resources.
  • @mukesh27 shared that PRs #1795 and #1818 are ready for review.

Our next chat will be held on Tuesday, April 8, 2025 at 15:00 UTC in the #core-performance channel in Slack.

#core-performance, #hosting, #performance, #performance-chat, #summary

Agenda, Dev Chat, Mar 26, 2025

The next WordPress Developers Chat will take place on Wednesday at 15:00 UTC in theย coreย channel onย Make WordPress Slack.

The live meeting will focus on the discussion for upcoming releases, and have an open floor section.

Additional items will be referred to in the various curated agenda sections below. If you haveย ticketticket Created for both bug reports and feature development on the bug tracker.ย requests for help, please continue to post details in the comments section at the end of this agenda.

Announcements ๐Ÿ“ข

WordPress 6.8 | 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). 1 is now available ๐Ÿฅณ

The Release Candidate 1 release of WordPress 6.8 is now available! A heartfelt thank you to everyone who joined the Release Party. We appreciate your testing and feedback.

@jeffpaul reminds all CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Committers to read this article and follow the outlined process for the upcoming steps: WordPress 6.8 Release Candidate Phase

We are in the process of finalizing the development notes, after which the Field GuideField guide The field guide is a type of blogpost published on Make/Core during the release candidate phase of the WordPress release cycle. The field guide generally lists all the dev notes published during the beta cycle. This guide is linked in the about page of the corresponding version of WordPress, in the release post and in the HelpHub version page. will be released, followed by an email to PluginPlugin A plugin is a piece of software containing a group of functions that can be added to a WordPress website. They can extend functionality or add new features to your WordPress websites. WordPress plugins are written in the PHP programming language and integrate seamlessly with WordPress. These can be free in the WordPress.org Plugin Directory https://wordpress.org/plugins/ or can be cost-based plugin from a third-party. Authors containing the necessary information.

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/ 20.5 is now available

The new version of the Gutenberg plugin is now available in our plugin directory.

Help Test 6.8 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. version ๐Ÿงช

The Test-Team has written two helpful guides for people interested in testing:

Forthcoming releases ๐Ÿš€

Release Candidateย 2 of 6.8: April 1st

Theย Release Candidateย 2ย release of WordPress 6.8 will be available onย Tuesday, April 1, 2025.

A detailed overview of the release schedule for WordPress 6.8 can be found here. The article also includes information about the individuals assigned to each release party.

Nextย Gutenberg version: 20.6

Gutenberg 20.6 is scheduled for release onย Wednesday, April 2, 2025.

Nextย 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.: 6.8

We are currently in theย WordPress 6.8 release cycle. Read more aboutย the release squad, timeline and focus for this release.

Editor Updates ๐Ÿ”„

You can keep up to date with the major Editor features with the weekly updates, now on the blogblog (versus network, site)!
Editor Weekly Updates: March 10th โ€“ 23rd

Props to @krupaly2k for this wonderful overview.

Highlighted posts โœจ

Discussions ๐Ÿค”

The discussion section of the agenda is to provide a place to discuss important topics affecting the upcoming release or larger initiatives that impact the Core Team. To nominate a topic for discussion, please leave a comment on this agenda with a summary of the topic, any relevant links that will help people get context for the discussion, and what kind of feedback you are looking for from others participating in the discussion.

Hosting Issues Found During 6.8 RC1 Release Party

During the Release Party of 6.8 RC1, @desrosj observed errors occurring on several hosts. The most common issues involved three specific tests:

  • WP_Test_REST_Users_Controller::test_get_items_only_fetches_ids_for_head_requests() | Error Log
  • test_wp_check_password_supports_argon2i_hash() | Error Log
  • test_wp_unique_id_from_values() | Error Log

These tests resulted in failures on multiple hosts.
We should discuss this issue further to identify the causes and potential solutions.

Open floor ย ๐Ÿ’ฌ

Any topic can be raised for discussion in the comments, as well as requests for assistance on tickets. Tickets in the milestone for the next major or maintenance release will be prioritized.

Please include details of tickets / PRs and the links in the comments, and indicate whether you intend to be available during the meeting for discussion or will be async.

Props to @jeffpaulย for reviewing the agenda.

#6-8, #agenda, #dev-chat

Miscellaneous developer changes in WordPress 6.8

WordPress 6.8 delivers a broad set of developer-focused enhancements that improve extensibility, consistency, and modern standards across the platform. These updates include changes to shortcodes and media handling, expanded theme and 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. support, improved adminadmin (and super admin) validation and 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 fine-tuned control over post type registration and scheduling APIs. While these updates may not individually warrant their own developer note, they collectively represent important refinements for 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., theme, and site developers working with WordPress under the hood. This post rounds up the miscellaneous changes worth knowing as you prepare your code for WordPress 6.8.


Table of contents


Removed option to disable the Visual Editor from user profile settings

The option to disable the visual editor was used to enforce the usage of the text interface in the classic editor. This setting was removed in #34681. The setting is removed conditionally; if you have it enabled, it will remain enabled and editable until it is disabled for a user.

The text editor will continue to be an option for all users. $user->rich_editing continues to be a valid user profile field, and the visual editor can be disabled by toggling that value to false.

Example code:

update_user_option( $user_id, 'rich_editing', 'false' );


Changed WP_Image_Editor::generate_filename( $suffix ) to allow empty string as a suffix

The previousย  implementation of the WP_Image_Editor::generate_filename() method automatically appended a dimension suffix (e.g., -600ร—800) to the file name when no $suffix is provided, or when it is any โ€œfalseyโ€ value (e.g., null or false).ย 

With the addition of image format switching like the switch from .heic to .jpg added in #62359, it became more apparent that there was a need to create copies of files without changing their file names.

In #62385, the behavior of this method was changed to accept an empty string as an intentional value for $suffix. The method will treat false or null as empty values where a dimension suffix should be generated; but will treat an empty string as the desired value for the suffix.

The default function value remains null.ย 

For extenders, if you are passing a value into the generate_filename() that could be an empty string, you should ensure that the variable type is null or bool to keep your method behavior unchanged.


In #60969, validation was added to the classic menu administration when adding custom links. This validation matches the existing validation used 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. when adding custom links. It is a partial validation, checking for the following structures:

ย * โ€“ http://example.com/

ย * โ€“ //example.com

ย * โ€“ /directory/

ย * โ€“ ?query-param

ย * โ€“ #target

ย * โ€“ mailto:foo@example.com

If your use case requires content in a custom linkโ€™s href attribute that is not a generally valid URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org pattern, it may no longer be accepted.


New action hook in Import administration screen

A new action hook, import_filters, has been introduced to the Import administration screen (/wp-admin/import.php). This enhancementenhancement Enhancements are simple improvements to WordPress, such as the addition of a hook, a new feature, or an improvement to an existing feature. allows developers to execute custom functions at the end of the importers page, aligning its extensibility with other administration screens like Tools. The hook is implemented as follows:

/**
 
&#042; Fires at the end of the importers Administration screen.
 
 */
 
do_action( 'import_filters' );

This addition provides a standardized method for extending the importers page, facilitating the integration of custom functionalities. For more details, refer to #54419.


Update to wp_video_shortcode() HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. attributes

The wp_video_shortcode() function has been updated to generate valid HTML by properly handling boolean attributes. Previously, attributes like loop, autoplay, and muted were assigned a value of "1", leading to HTML validation errors. Now, these attributes are rendered without values, aligning with HTML specifications for boolean attributes. For instance, the loop attribute will now appear as loop instead of loop="1". This change ensures that video elements produced by the shortcodeShortcode A shortcode is a placeholder used within a WordPress post, page, or widget to insert a form or function generated by a plugin in a specific location on your site. are semantically correct and pass HTML validation. For more details, refer to #60178.


Update to wp_audio_shortcode() HTML Attributes

The wp_audio_shortcode() function has been updated to generate valid HTML by properly handling boolean attributes. Previously, attributes like loop, autoplay, and muted were assigned a value of "1", leading to HTML validation errors. Now, these attributes are rendered without values, aligning with HTML specifications for boolean attributes. For instance, the loop attribute will now appear as loop instead of loop="1". This change ensures that audio elements produced by the shortcode are semantically correct and pass HTML validation. For more details, refer to #61515.


New embeddable argument for register_post_type()

A new embeddable argument has been introduced to the register_post_type() function, allowing developers to control the embeddability of custom post types. By default, this parameter inherits its value from the public argument, ensuring that publicly accessible post types remain embeddable unless explicitly specified otherwise. This enhancement provides greater flexibility in managing content embedding, enabling developers to restrict embedding for specific post types as needed. For more details, refer to #35567.


Updates to body_class classes

Some new classes were introduced to the <body> tagtag A directory in Subversion. WordPress uses tags to store a single snapshot of a version (3.6, 3.6.1, etc.), the common convention of tags in version control systems. (Not to be confused with post tags.).

The classes wp-theme-<name> and wp-child-theme-<name (when the current theme is a 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/) were added, where <name> represents the sanitized name of the active theme. Please note that these classes are added on both front-end and in the administration. For more information, refer to #19736.

The wp-singular class was added to the list of body classes when viewing a single post object. This class includes a wp- prefix to avoid conflicts with existing classes in themes or plugins. For more information, refer to #35164.


readme.html file is now noindex,nofollow

Because site owners likely donโ€™t intend for the content of the readme.html file to be indexed, as itโ€™s unrelated to the site content. A noindex,nofollow 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. tag was added to this file, to prevent it from being indexed. Polyglot teams that are translating this file manually are encouraged to update their version. For more information, refer to #63069.


Style Book availability for classic themes

The Style Book feature has been extended to support classic themes. This enhancement allows developers and users to preview and understand site colors, typography, and block styles within the context of their classic themes. To utilize the Style Book in a classic theme, ensure that the theme either:

  • Supports editor styles: Implement this by adding add_theme_support( 'editor-styles' ); in the themeโ€™s functions.php file.
  • Includes a theme.json file: Incorporate a theme.json configuration file to define global styles and settings.

By adopting either of these methods, classic themes can leverage the Style Bookโ€™s capabilitiescapability Aย capabilityย is permission to perform one or more types of task. Checking if a user has a capability is performed by the current_user_can function. Each user of a WordPress site might have some permissions but not others, depending on theirย role. For example, users who have the Author role usually have permission to edit their own posts (the โ€œedit_postsโ€ capability), but not permission to edit other usersโ€™ posts (the โ€œedit_others_postsโ€ capability)., providing a more consistent and customizable editing experience.

For detailed guidance on integrating theme.json into classic themes, refer to the Global Settings & Styles (theme.json) โ€“ Block Editor Handbook. Additionally, the tutorial โ€œUsing theme.json with classic themesโ€ offers practical insights and examples. These resources provide comprehensive information on enhancing classic themes with modern styling capabilities. For more information, refer to #62509.


Enabling Block Hooks for post content

The Block Hooks mechanism has been extended to apply to post content, in addition to its existing support for templates, template parts, patterns, and navigation menus. This enhancement allows developers to insert hooked blocks directly into posts and pages, offering greater flexibility in content customization.

Key considerations:

  • User expectations: Aligns block insertion capabilities with user expectations across various site components.
  • Content management: Introduces the ability to manage hooked blocks within individual posts and pages, enhancing content control.

This update provides developers with expanded tools for dynamic content placement, improving the customization capabilities. For more information, refer to #61074.


Block Hooks enabled for Synced Patterns

The Block Hooks feature has been extended to support synced patterns (i.e., core/block blocks). Previously, Block Hooks were applied to templates, template parts, patterns, navigation menus, and post content. This enhancement ensures consistent behavior across all these entities, allowing developers to insert hooked blocks into synced patterns seamlessly. This update provides greater flexibility and control over content customization within the WordPress ecosystem. For more information, refer to #62704.


Standardized behavior for render_block_context 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.

The behavior of the render_block_context filter has been standardized to ensure consistent application across all block levels. Previously, this filter applied differently to top-level blocks compared to inner blocks, leading to inconsistencies in context propagation. Specifically, context provided via render_block_context was available to inner blocks when applied to top-level blocks, but not when applied to inner blocks.

This discrepancy has been addressed, ensuring that context supplied through the filter is uniformly available to all nested inner blocks, regardless of their position within the block hierarchy. For more information, refer to #62046.


Cron 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.: Introduce a new filter of the same name to wp_next_scheduled()

The wp_next_scheduled hook allows plugin developers to modify the timestamp of the next scheduled event for a given wp-cron job. The full event object, hook name and arguments are provided as additional arguments for this filter. Fore more information, refer to #52655.


HDR Image support for Imagick: new filter to control maximum bit depth of resized images

WordPress 6.8 introduces a new filter, image_max_bit_depth, that developers can use to control the maximum bit depth for resized images. The filter is also passed the original bit depth of the uploaded image. Note that this filter only works when the siteโ€™s hosting supports Imagick and coreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. is using the Imagick editor because the GD image editor does not support reading or controlling bit depth (#62285).

By default, the maximum depth matches the bit depth of the original uploaded image. Previously, the maximum bit depth was reduced to 8 for images with higher bit depths, so HDR images were always output with reduced bit depth. Starting in 6.8 HDR images will be output with the bit depth they are uploaded with (for example 12 bits). To enforce the previous behavior, developers can use the following code:

{{{
add_filter( โ€˜image_max_bit_depthโ€™, function( $max_depth, $original_depth ) { 
	return ( 8 &lt; $original_depth ) ? 8 : $original_depth;
} ); 
}}}

Media: enable setting image output quality by image size

A newย $sizeย parameter was added to theย wp_editor_set_qualityย filter. $size is an array with โ€˜widthโ€™ and โ€˜heightโ€™ keys. Developers can use this information to set image quality based on the image size, for example using a lower quality setting for small images (#54648).


Media: control uploading of unsupported media types

In 6.8, a new filterย wp_prevent_unsupported_mime_type_uploadsย controls the behavior of the editor and media library when users upload an image type that the server does not support. By default, users will see an error message that โ€œThis image cannot be processed by the web server. Convert it to JPEG or PNG before uploadingโ€. Developers can return false from the filter to enable uploading of these images; however, sub-sized images will not be created (#61167).


UPDATE (14 April 2025): Updated is_embeddable to embeddable for dev notedev 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, and 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. on #35567. Props @mat-lipe.

UPDATE (14 April 2025): Updated after_importers to import_filters for dev note on #54419. Props @afercia.


Props to @joedolson @audrasjb @webcommsat @joemcgill @benjamin_zekavica @peterwilsoncc @adamsilverstein @azaozz for input and review.

#6-8, #dev-notes, #dev-notes-6-8

WordPress 6.8 Release Candidate Phase

Now that WordPress 6.8 has entered the 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). phase, the following policies are in place.

These policies mainly cover how and when CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. committers can commit. For non-committing contributors, this post may help explain why a Core committercommitter A developer with commit access. WordPress has five lead developers and four permanent core developers with commit access. Additionally, the project usually has a few guest or component committers - a developer receiving commit access, generally for a single release cycle (sometimes renewed) and/or for a specific component. makes a certain decision.

String Freeze

To allow the Polyglots teamPolyglots Team Polyglots Team is a group of multilingual translators who work on translating plugins, themes, documentation, and front-facing marketing copy. https://make.wordpress.org/polyglots/teams/ time to get their local languageโ€™s translationtranslation The process (or result) of changing text, words, and display formatting to support another language. Also see localization, internationalization. of WordPress ready, no new strings are permitted to be added to the release. Existing strings can be removed and/or duplicated if needed.

Seek guidance from the Polyglots team leadership for any strings reported as buggy. A buggy string is one that can not be translated to all languages in its current form.ย 

Tickets on the WordPress 6.8 milestone

For the remainder of the cycle, only two types of tickets may be placed on/remain on the 6.8 milestone:

  • Regressions: bugs that have been introduced during the WordPress 6.8 development cycle, either to existing or new features.
  • Test suite expansion: tests can be committed at any time without regard to code or string freezes. This can cover either new or existing features.

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. is now WordPress 6.9-alpha

WordPress 6.8 was recently forked to its own branchbranch A directory in Subversion. WordPress uses branches to store the latest development code for each major release (3.9, 4.0, etc.). Branches are then updated with code for any minor releases of that branch. Sometimes, a major version of WordPress and its minor versions are collectively referred to as a "branch", such as "the 4.0 branch"., trunk is now open for commits for the next version of the software.

Backporting to the 6.8 branch

Backporting commits of production code (that is, anything that ends up in the zip file) now requires double sign-off by two core committers. The dev-feedback keyword should be used to request a second committerโ€™s review, dev-reviewed should be added to indicate a second committer has reviewed and approved the commit to the 6.8 branch.

Commits to the test suite do not require double sign-off.

#6-8