Summary, Dev Chat, September 17, 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 ๐Ÿ“ข

Welcome to theย CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress.ย Program Team

The newย Core Program Teamย focuses on how Coreโ€™s sub-teams work together. The goal is to make processes simpler, lower barriers for new contributors, and support smoother collaborationโ€”for example through new handbooks orย 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/ย project flows. Everyoneโ€™s welcome to get involved.

Help Test WordPress 6.9

@krupaย andย @psykroย are preparing theย Help Test WordPress 6.9ย post. Theyโ€™reย asking for inputย on which features need a dedicated testing call, what should be tested early beforeย 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.ย 1, and which workflows may need extra coverage.

Forthcoming releases ๐Ÿš€

WordPress 6.9 Timeline

WordPress 6.9 is planned forย December 2, 2025, with Beta 1 beginningย October 21.

Bug Scrub Schedule

Regular scrubs are already underway, led byย @wildworksย andย @welcherย across time zones.
Full details are in theย Bug Scrub Schedule for WordPress 6.9.

Discussion ๐Ÿ’ฌ

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/ โ€“ Sites Endpoints

Discussion focused on reviving the inactive 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 repo. References: #40365 and #63885. The goal is to support Networknetwork (versus site, blog) Adminadmin (and super admin) modernization with DataViews. Open questions are whether to proceed directly in Core, through a feature pluginFeature Plugin A plugin that was created with the intention of eventually being proposed for inclusion in WordPress Core. See Features as Plugins, or as a canonical 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., and how to clearly define benefits and roadmap alignment.

Onboarding with WPCredits

The program brings university students into Core. Discussion centered on improving onboarding by adding better ticketticket Created for both bug reports and feature development on the bug tracker. filters in TracTrac An open source project by Edgewall Software that serves as a bug tracker and project management tool for WordPress., gathering structured feedback from new contributors via surveys or Contributor Days, and keeping materials such as the Handbook and Learn courses up to date. Lessons from programs like GSoC and OPW should be incorporated.

Strong Typing in Core

Numerous small tickets on type hints, including #63975, were viewed critically. Consensus was to handle these changes in bulk and support them with tools like PHPStan. Refactoring should only be done when it provides clear value.

Props to @audrasjb for review.

#6-9, #core, #dev-chat

Bug Scrub Schedule for WordPress 6.9

Itโ€™s time to get WordPress 6.9 ready for release, and help is needed to ensure itโ€™s smooth and 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.-free. Whether youโ€™re an experienced contributor or joining in for the first time, everyone is welcome! ๐ŸŽ‰

Schedule Overview

Regular bug scrubs are being held twice a week with @wildworks and @welcher leading them in their individual timezones. The goal is to cover as many timezones as possible to encourage as many contributors as possible to participate in the 6.9 release. As the release date approaches and activity ramps up, the number of scrubs may be increased if necessary. These efforts will help ensure everything is on track for a smooth launch. Participation is welcome at any of these sessions, so feel free to join. Bring questions, ideas, and letโ€™s scrub some bugs together!

Continue reading โ†’

#6-9, #bug-scrub, #core, #core-test, #props

Two-Factor Authentication is Required for All People With the Capabilities to Publish Here, on make/core

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/ย is committed to protecting accounts that play a crucial role in the WordPress ecosystem. Accounts with the ability to publish posts on the authoritative source of information from the WordPress CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. team need to be secure in order to prevent unauthorized access and maintain the security and trust of the WordPress.org community.

Effective 16 September 2025, any author, editor, or administrator without two-factor authentication enabled will have their role changed to contributor. If your account was demoted as a part of this, after you have enabled two-factor please comment on this post to have your old role restored.

Configuring 2FA on Your Account

You may have noticed prompts when logging in to WordPress.org encouraging you to configure 2FA. If you havenโ€™t yet, visit this link to do so:ย https://profiles.wordpress.org/me/profile/security.

Please ensure you store your backup codes securely, if you lose access to your two-factor authentication methodย and your backup codes, the process to regain access to your account may not be easy.

If you encounter any difficulties while setting up 2FA, follow the steps outlined inย Configuring Two-Factor Authentication.

Props to @davidbaumwald, @francina, and @desrosj for reviewing this post and @dd32 for a post whose language was reused here

#core

Summary, Dev Chat, September 10, 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 @audrasjb. ๐Ÿ”— Agenda post.

Announcements ๐Ÿ“ข

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/ย 21.6 was released!

Gutenberg 21.6 is now available. Theย release postย provides a full overview of the changes and enhancements. Thanks toย @cbravobernalย for preparing the notes.

Forthcoming releases ๐Ÿš€

WordPress 6.9

WordPress 6.9 is scheduled for Tuesday, December 2, 2025.

Theย roadmap for 6.9ย has been published.
Please take a look to see whatโ€™s actively being worked on for release later in the year.

WordPress 6.9ย Dev-Notes

A first 6.9ย 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.ย was published:ย Prettier Emails: Supporting Inline Embedded Images
Seeย all dev notes published for 6.9.

Discussion ๐Ÿ’ฌ

Allow wp-config.php without wp-settings.php

Ticketticket Created for both bug reports and feature development on the bug tracker. #5276 was discussed regarding loading wp-config.php without automatically including wp-settings.php. Opt-in approaches were considered, but concerns about back-compatibility and existing site configurations mean the ticket remains closed and is not targeted for 6.9.

Redirect on MySQLMySQL MySQL is a relational database management system. A database is a structured collection of data where content, configuration and other options are stored. https://www.mysql.com rate-limiting

Ticket #63678 proposes redirecting users to install.php when database connections are blocked due to MySQL rate-limiting. Participants agreed the patchpatch A special text file that describes changes to code, by identifying the files and lines which are added, removed, and altered. It may also be referred to as a diff. A patch can be applied to a codebase for testing. is consistent with current error handling, with a suggestion to reuse MySQLโ€™s native error message. It is moving forward for 6.9 consideration.

Standardizing UTF-8 handling

Ticket #63863 introduces a compat-utf8.php file to polyfill missing UTF-8 functions before compat.php is loaded. This aims to provide more consistent string handling across environments. Ongoing feedback is encouraged directly on the ticket.

Docs Team in release squads

A recent post from the Docs Team led to discussion about its role in release squads. Concerns were raised about the removal of the Docs Lead position and possible effects on onboarding and coordination. The importance of documentation was acknowledged, while there were differing views on the need for a formal lead role. It was agreed that there will not be a dedicated Docs Lead role in 6.9 for now. Instead, the focus will be on improving release instructions and checklists to ensure smoother processes.

Props to @audrasjb for review.

#6-9, #core, #dev-chat, #docs, #gutenberg, #summary

Whatโ€™s new in Gutenberg 21.6? (10 September)

โ€œWhatโ€™s new in 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/โ€ฆโ€ posts (labeled with the #gutenberg-new tag) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Editor.

Whatโ€™s New In
Gutenberg 21.6?

Gutenberg 21.6 has been released and is available for download!

It brings several enhancements, including improvements to the new Accordion 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. and the Dataviews grid. This release also incorporates various 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 and code refactoring, continuing the migrationMigration Moving the code, database and media files for a website site from one server to another. Most typically done when changing hosting companies. to TypeScript. Additionally, it lays the groundwork for a future upgrade to ReactReact React is a JavaScript library that makes it easy to reason about, construct, and maintain stateless and stateful user interfaces. https://reactjs.org 19.

  1. New add accordion button
  2. Improved Dataviews grid interface.
  3. Select, dropdown and text inputs now support global styles.
  4. Changelog

New โ€œaddโ€ accordion button

A new โ€œaddโ€ button has been incorporated into the accordion block, simplifying the process of creating new content items by allowing direct additions to the accordion toolbar.

Improved Dataviews grid interface.

The dataviews grid now offers a cleaner interface. Titles can be hidden, and actions are accessible on hover, allowing for a simplified grid without sacrificing the ability to add actions to individual items.

Select, dropdown and text inputs now support global styles

This release brings global styles support to selects, dropdowns, and text inputs, giving themes consistent control over these common form elements. By defining styles in theme.json, authors can customize colors, borders, and typography without extra CSSCSS Cascading Style Sheets.. This update makes forms feel more cohesive with the rest of a siteโ€™s design.

Changelog

Enhancements

  • Add support for precision type placeholders to translator comments eslint. (71145)
  • CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. Commands: Add Dashboard option to return to dashboard. (71261)
  • Core Data: Add โ€˜supportsPaginationโ€™ to all appropriate entities. (71302)
  • Core Data: Forward resolvers for pagination selectors. (71304)
  • Core Data: Include pagination 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. while receiving intermediate results. (71401)
  • Create Block: Add lifecycle script execution support. (71072)
  • Display names for Context providers. (71208)

DataViews

  • DataForm: Add description support for the combined fields and show the description in the Card layout. (71380)
  • DataForm: Streamline validation behavior. (71345)
  • Revert โ€œDataForm: Streamline validation behaviorโ€. (71359)
  • Support hiding the title in Grid layout, with actions available on hover. (71369)
  • Support the โ€œMinimal UIUI User interfaceโ€ story by using DataViews.Footer. (71276)

Block Library

  • Accordion Panel: Remove unnecessary wrapper div and simplify save. (71454)
  • Accordion: Add an โ€œAddโ€ button. (71388)
  • 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 Block: Fix broken placeholder. (70840)

Offline

  • api-fetch: Check navigator.onLine to improve failure notices. (71438)

Meta Boxes

  • Edit Post: Check for meta box container before adding constraints. (71423)

Commands

  • feat: Added keyword support & added basic keywords for post/page. (70624)

New APIs

Global Styles

  • Add support for select or dropdown elements. (70379)
  • Global styles: add element support for text related inputs. (70378)

Bug Fixes

  • Add permission checks to Command Palette commands. (71267)
  • Components: Fix Tab font size when used outside WP. (71346)
  • Core Data: Fix error in โ€˜getEntityRecordsTotalPagesโ€™ selector. (71303)
  • Scripts: Do not access window global. (71348)
  • wp-scripts: Remove clean-webpack-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. dependency. (71080)

Block Library

  • Accordion 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.: Fix RTL toggle button layout. (71480)
  • Fix issue of css affecting the nested accordion icon. (71445)
  • Fix timezone in Date block. (71430)
  • Fix: Randomization in Gallery Block doesnโ€™t work when Lightbox is enabled. (71408)
  • Group Block variation:Remove variation text color. (71429)
  • Properly apply styles and classes to the experimental form block. (55755)
  • Template Part: Display icons correctly when in placeholder state. (71327)
  • fix: Prevent accordion toggle button overflow at full width. (71446)
  • fix: Prevent scrollbars on accordion header and toggle. (71484)

Write mode

  • Allow adding โ€œcontentโ€ role blocks to containers that also have a โ€œcontentโ€ role in write mode. (71232)
  • Audio and Video: Hide caption controls in contentOnly mode. (71368)
  • Hide โ€˜Add blockโ€™ control in Link UI when Navigation Link block is in contentOnly mode. (71213)
  • Image: Donโ€™t allow convert to cover controls in contentOnly mode. (71329)

Post Editor

  • Edit Post: Fix misplaced icon on back button. (71406)
  • Editor: Fix theme stylesheet injection in โ€˜useAvailablePatternsโ€™. (71332)

DataViews

  • Fix grid padding values on mobile viewports. (71455)

Block Editor

  • Inserter: Fix InserterListbox rendering for React 19. (71410)

Style Book

  • Accordion Content, Header, Panel: Remove example field. (71407)

Zoom Out

  • Fix Zoom out should be disabled when Show Template is toggled off. (71361)

Components

  • ControlWithError: Show validating state when transitioning from error state. (71260)

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

  • iAPI: Make state getters to be updated asynchronously with store(). (70974)

Performance

  • Add wp-env SPX profiler option. (70693)

Post Editor

  • Editor: Improve the โ€˜Designโ€™ 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. panel performance. (71333)

Documentation

  • Core Data: Improve โ€˜registry.batchโ€™ documentation. (71325)
  • DataForm: Better story for validation. (71298)
  • DataViews: Fix defaultLayouts documentation error. (71334)
  • Field Types: Update storybook. (71440)
  • 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.: Document โ€˜hookNameโ€™ and โ€˜namespaceโ€™ parameters. (71288)
  • Storybook: Set DateCalendar and DateRangeCalendar components as private. (71453)

Code Quality

  • A11yAccessibility 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): Remove redundant styles. (65409)
  • Command Palette: Enqueue assets globally. (71264)
  • Convert api-fetch package to TypeScript. (67669)
  • Convert date package to TypeScript. (67665)
  • Core Data: Remove unused reducers. (71305)
  • Fix: Add JSON_HEX_TAG flag to wp_json_encode in script tags. (71280)
  • Interface: Remove leftover comment. (71331)
  • Types: Update to be compatible with React 19. (71374)
  • api-fetch: Clean up error handling. (71458)
  • api-fetch: Cleanup and improve unit tests. (71439)
  • core-data: Use Object.fromEntries instead of reduce when generating entities reducer. (36296)
  • Deps: Bump framer-motion to v11.15.0. (71442)
  • Move Site Editor command from wordpress/editor package to wordpress/core-commands. (71262)

Block Editor

  • Fold uniqueByBlock into options object. (71279)
  • Remove duplicate โ€˜InsertionPointOpenRefโ€™ context definition. (71465)

Block Library

  • Image block: Remove unused code. (71292)
  • refactor: Remove unnecessary fields from accordion block.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. files. (71441)

Post Editor

  • Update types of getCurrentPostId. (71347)

Global Styles

  • Remove unecessary useEffect from ScreenStyleVariations. (71344)

Tools

Testing

  • Avoid using *-latest for runner images. (71201)
  • Fix failing command center end-to-end tests. (71293)
  • 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: Try to fix storybook smoke tests. (71284)
  • Upgrade Playwright to v1.55. (71285)

Build Tooling

  • Fix PHPPHP The web scripting language in which WordPress is primarily architected. WordPress requires PHP 7.4 or higher unit testing jobs to not include version. (71396)
  • Release Workflow: Add github.ref validation. (71404)

First-time contributors

The following PRs were merged by first-time contributors:

Contributors

The following contributors merged PRs in this release:

@Adity @andrewserong @aristath @DAreRodz @desrosj @dinhtungdu @getdave @himanshupathak95 @im3dabasia @jsnajdr @juanfra @kmanijak @lalitkumawat1m @levinbaria @MaggieCabrera @Mamaduka @manzoorwanijk @Mayank-Tripathi32 @mcsf @mikachan @mirka @nerrad @oandregal @R1shabh-Gupta @ramonjd @shimotmk @sirreal @swissspidy @t-hamano @talldan @tellthemachines @tyxla @USERSATOSHI @vipul0425 @westonruter @youknowriad

Props @mamaduka and @jorbin for peer review. Props @joen for visual assets.

#block-editor, #core-editor, #gutenberg, #gutenberg-new

Dev Blog editorial meeting summary, September 4, 2025

Summary of the WordPress Developer Blogblog (versus network, site) meeting which took place in the ย #core-dev-blog channel on 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/. Start of the meeting on Slack

Site updates and new posts

Project Board

The Dev Blog is always keen to welcome new contributors.

New published posts

Great month for the Developer Blog, and a big thanks to all the writers, reviewers and all involved.

Features on the Developer Blog by @webcommsat on OpenChannels.fm:

The WordPress Way show highlights the Developer Blog in most shows, and in September had a show completely dedicated to it and helping developers in how to use it, and encouraging contributors and new writers

Project board status

Potential new articles/ posts in progress

Highlighted GitHub discussion on the importance of a useful changelog #393

How to register border radius presets in WordPress 6.9 #394

Snippet: Allowed blocks in editor without impacting site editor #390

Setup a single source of dependencies and build tools for multiple plugins and themes #392

  • Suggestion to use this as a case study, rather than a prescriptive post on how to set-up.
  • Discussion on promoting individualized set-ups / case studies from different developers to illustrate how they use functionality. It does not have to be the โ€œperfectโ€ setup, but itโ€™s the thing that works for you, which can be helpful for others.

Expecting more articles in October as WordPress 6.9 features become clear.

Reminder: if you are setting up a link to a google document 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/ โ€“ choose the option to share it for โ€˜commentsโ€™ for anyone who has the link, not โ€˜editโ€™ nor โ€˜view onlyโ€™.

@bph to move the approved discussions to issue and assign them to writers and add them to the project board.ย 

@areziaal โ€“ plan for a table at WCEH to promote the Dev Blog at its contributor dayContributor Day Contributor Days are standalone days, frequently held before or after WordCamps but they can also happen at any time. They are events where people get together to work on various areas of https://make.wordpress.org/ There are many teams that people can participate in, each with a different focus. https://make.wordpress.org/support/handbook/getting-started/getting-started-at-a-contributor-day/, and thanks to help from @welcher.

Posts that need a writer

https://github.com/orgs/WordPress/projects/44/views/1

https://github.com/WordPress/developer-blog-content/issues/259

https://github.com/WordPress/developer-blog-content/issues/217

https://github.com/WordPress/developer-blog-content/issues/269

Thanks for facilitating, @marybaum

Next meeting

The next Developer Bog editorial group meeting will be on October 2, 2025, at 15:00 UTC in the #core-dev-blog channel.

Props to @bph for reviewing the notes.

#dev-blog, #summary

Introducing the #content-creators slack channel

Last week, a new 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 was started called #content-creators that all are welcome to join. The focus is on providing a dedicated channel for those in the WordPress content creation space with the following aims:ย 

  • Build community by providing a space where content creators can connect, collaborate, and learn from each other.
  • Share feedback loops from audiences who comment on videos or posts, as well as from creators themselves as they run into bugs or enhancements when creating content.ย 
  • Increase awareness of new WordPress features through more direct sharing to encourage learning and adoption by both new and existing users.
  • Grow adoption of WordPress overall through more impactful content creation.

This channel is a new experiment aimed at bringing conversations into the open, so more people can benefit and join in. While the above is the initial intent, the space is meant to evolve as more content creators join and a greater understanding of what would be the most useful forms.ย In six months, the impact of this channel will be revisited (# of channel members, overall engagement, survey of creators to understand if itโ€™s helped them) and a decision will be made whether to continue with having a dedicated space.

If you are a content creator, whether brand new or seasoned, please consider joining: create a WordPress.org slack account if you donโ€™t already have one and head to #content-creators. Thereโ€™s purposefully not a hard and fast definition for what defines a content creator and, if youโ€™re feeling imposter syndrome around it, join anyways. Lurkers are welcomed here!

For now, Iโ€™ll share work-in-progress updates from CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress., be available to answer questions (feel free to @ me), and host occasional hallway hangouts for more in depth discussions. Iโ€™m excited to see more of you in #content-creators and to explore how we can support each other in telling the story of WordPress.ย 

#slack

Prettier Emails: Supporting Inline Embedded Images

An embedded email image is an image file included directly within the emailโ€™s content, allowing it to be displayed inline (i.e., in the body of an HTMLHTML HyperText Markup Language. The semantic scripting language primarily used for outputting content in web browsers. email) without requiring the recipient to download it separately. This is achieved by referencing the image via a Content-ID (CID) in the emailโ€™s HTML markup. Embedded images are useful for enhancing visual emails, such as newsletters or branded notifications, but they only work in HTML-formatted emails. By default, WordPress sends emails in plain text format. To take advantage of embedded images, you must set the Content-Type 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 text/html when calling wp_mail().

Historically, the only way to add inline embedded images was to directly call $phpmailer->AddEmbeddedImage method during phpmailer_init, like this:

function embed_images( $phpmailer ) {
    $phpmailer->AddEmbeddedImage( '/path/to/logo.png', 'logo.png' );
}
add_action( 'phpmailer_init', 'embed_images' );

This worked, but this specific implementation depended on the PHPMailer library.

The changes added in #28059/[60698] aim to provide a native option that facilitates some degree of abstraction from the current mailing library and also sets the stage to deprecate this native injection with phpmailer_init in the future, simplifying the process and ensuring long-term maintainability. This will become available in the next release, WordPress 6.9.

This change updates the wp_mail function signature to add a new argument for $embeds:

wp_mail( $to, $subject, $message, $headers = '', $attachments = array(), $embeds = array())

This new parameter can accept a newline-separated(\n) string of images paths, an array of image path strings, or an associative array of image paths where each key is the Content-ID.

Content-ID formation

When using the $embeds parameter to embed images for use in HTML emails, no changes are necessary for plain text emails. Reference the embedded file in your HTML code with a cid: URLURL A specific web address of a website or web page on the Internet, such as a websiteโ€™s URL www.wordpress.org whose value matches the fileโ€™s Content-ID.

Example email markup:

<img src="cid:0" alt="Logo">
<img src="cid:my-image" alt="Image">


As mentioned above, Content-ID (cid)s for each image path to be embedded can be passed using an associative array of cid/image path pairs. If $embeds is a newline-separated string or a non-associative array, the cid is a zero-based index of either the exploded string or the elementโ€™s position in the array.

New wp_mail_embed_args 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.

A new wp_mail_embed_args filter has been introduced to allow each individual embed to be filtered during processing. With this new hook, itโ€™s possible to customize most of the properties of each embed before passing to $phpmailer->AddEmbeddedImage().

$embed_args = apply_filters(
    'wp_mail_embed_args',
    array(
        'path'        => $embed_path,
        'cid'         => $key,
        'name'        => basename( $embed_path ),
        'encoding'    => 'base64',
        'type'        => '',
        'disposition' => 'inline',
    )
);

Each of these values represents the following:

  • path โ€“ The path to the image file
  • cid โ€“ The Content-ID
  • name โ€“ The filename of the image
  • encoding โ€“ The encoding of the image
  • type โ€“ The MIME Content-Type
  • disposition โ€“ The disposition of the image

This provides a 1-to-1 representation of the PHPMailerโ€™s addEmbeddedImage method via this hook.

Example: Set the correct Content-Type when embedding SVG images:

add_filter( 'wp_mail_embed_args', function ( $args ) {
    if ( isset( $args['path'] ) && '.svg' === substr( $args['path'], -4 ) ) {
        $args['type'] = 'image/svg+xml';
    }
    return $args;
} );

Backward Compatibility Recommendations

If you are maintaining code that completely replaces the wp_mail() function (e.g. via a custom implementation in 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 theme), take the following steps to improve the implementation with this update:

  1. Update your implementation to expect and handle the new $embeds parameter in the function signature. This is optional, as $embeds receives an empty array by default.
  2. Consider adding support for the wp_mail_embed_args filter to ensure that any plugins or themes making use of it will have their changes reflected in your implementation of wp_mail().
  3. If you are currently supporting images in your emails, they wonโ€™t be affected by this update. Although, adding this implementation will ensure greater integration with WordPress to safeguard against future deprecations.

As a reminder, fully replacing wp_mail() is generally discouraged. The pre_wp_mail filter introduced in WordPress 5.7 can accomplish the same result. For more details, see the developer note on overriding wp_mail() behavior.

Props to @TimothyBlynJacobs, @mukesh27, @davidbaumwald, @desrosj, and @johnbillion helping review this dev-note.

#6-9, #dev-notes, #dev-notes-6-9, #mail

Summary, Dev Chat, September 3, 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.9 Roadmap

Theย roadmap for 6.9ย has been published.
Please take a look to see whatโ€™s actively being worked on for release later in the year.

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/ย 21.5 was released!

Gutenberg 21.5 is now available. Theย release postย provides a full overview of the changes and enhancements. Thanks toย @wildworksย for leading this release and preparing the notes.

Forthcoming releases ๐Ÿš€

WordPress 6.9

WordPress 6.9 is scheduled for Tuesday, December 2, 2025.

Discussion ๐Ÿ’ฌ

Revamp of Networknetwork (versus site, blog)/Sites screen with DataViews

@realloc introduced ticketticket Created for both bug reports and feature development on the bug tracker. #63885, which proposes modernizing the Network/Sites screen using DataViews and DataForm. For this to work, 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/ endpoint for sites is also needed. Initial proof-of-concepts are available, with the goal of advancing 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. and UIUI User interface together. Feedback on both design and implementation is highly encouraged.

Step-by-step integration of PHPStan into CoreCore Core is the set of software required to run WordPress. The Core Development Team builds WordPress. workflow

There was broad agreement on integrating PHPStan into the Core workflow. Key points are ensuring compatibility with WPCSWordPress Community Support A public benefit corporation and a subsidiary of the WordPress Foundation, established in 2016., avoiding false positives related to globals or legacy code, and introducing it gradually. The plan is for incremental rule expansion, accompanied by contributor discussions.

Concerns over missing Docs Team Lead in releases

@estelaris raised concerns about the lack of a Docs Team Lead role. During the 6.8 release, 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, 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. and HelpHub pages were coordinated too late. The discussion highlighted that Dev Notes should primarily be written by the developers implementing the changes, with the Docs team providing fallback support. Proposals included broader HelpHub access for committers and improved release checklists to ensure better planning.

Props to @francina for review.

#6-9, #core, #dev-chat, #gutenberg, #summary

Whatโ€™s new in Gutenberg 21.5? (27 August)

โ€œWhatโ€™s new in 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/โ€ฆโ€ posts (labeled with the #gutenberg-new 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.)) are posted following every Gutenberg release on a biweekly basis, showcasing new features included in each release. As a reminder, hereโ€™s an overview of different ways to keep up with Gutenberg and the Editor.

Whatโ€™s New In
Gutenberg 21.5?

Gutenberg 21.5 has been released and isย available for download!

This release contains many enhancements in addition to the new blocks. Below is a curated summary of the most notable changes in this release.

Introducing Accordion 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.

Experimental Accordion block

This release introduces the new experimental Accordion block. Accordion content is composed of the trigger and panel, allowing users to style them separately, while maintaining the 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) and semantics requirements of the accordion.

Command Palette in adminadmin (and super admin) dashboard

Command Palette in admin dashboard

We aim to bring the Command Palette into all parts of the WordPress experience. As a first step, the Command Palette is now available in the Admin Dashboard.

More commands and extensibility are planned for the future; see the overview issue for more details.

Support border radius presets

Like spacing, color, aspect ratios etc. Border radius are something that should be applied consistently throughout a design. Defining โ€œborder radius presetsโ€ 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. allows picking border radius value from these presets instead of manually entering radius values.

Continue reading โ†’

#block-editor, #core-editor, #gutenberg