WordPress.org

WordPress Developer Blog

What’s new for developers? (April 2023)

Welcome to the third installment of the monthly roundup for WordPress extenders. This series tries hard to cut through all the clutter and bring you only the most important enhancements, fixes, and other updates you need to build on top of WordPress.

WordPress 6.2 launched on March 29, 2023, featuring a smoother site editing experience and lots of new ways to make your content visually fresh but still on-brand. 

Want to know more about what has come before? You can get an in-depth look at almost everything in version 6.2 in the February and March 2023 editions of the What’s new for developers? series.

Much of this post covers features that are only available in Gutenberg 15.5 or WordPress trunk. So, make sure you are testing with the most up-to-date releases available.

Table of contents

Highlights

Starter template patterns

Gutenberg 14.9 introduced the initial template types support for the Patterns API—the foundation of what will over time become a multi-release project. Gutenberg 15.2 introduced a baseline UI for the template-creation process; since then, you’ve been able to start from a fallback template or a blank slate.

Now, with the release of Gutenberg 15.5, those two concepts work together. When you register a pattern for a specific template type, it will show up in the start modal anytime you add a new template from the Site Editor.

Grid layout type

Gutenberg 15.5 also added a new grid layout feature that you can opt into for custom blocks. Still in the early stages of development, it includes only one option, for defining the minimum column width, but over the next several Gutenberg releases, you can expect more to come.

That means now is the time for you to begin testing it and sending in your early feedback (and your suggestions!). The core Group block currently has experimental support, which you activate via the Gutenberg > Experiments page in the WordPress admin.

Time to Read block

Gutenberg 15.3 introduced the Time to Read block. Its whole purpose is to show an estimate of how long in minutes it should take your readers to finish a post, but it does not support an hourly format for long-form posts. Recent updates have added spacing and typography design tools to the block.

Gutenberg phase 3: Collaboration

The Gutenberg project has four phases:

  1. Easier Editing: Building post content with blocks
  2. Customization: Full site editing, patterns, block theming
  3. Collaboration: Updated methods for collaboratively authoring content
  4. Multilingual: Implementation of multilingual sites

The last several major releases have focused on Phase 2: Customization, and WordPress 6.3 will mark the end of that phase. That does not mean the end of new customization features in future releases. But, it does mean focus will shift to the next phase.

In March, Matías Ventura announced early concepts around Phase 3: Collaboration. The ideas in Phase 3 will center on collaborative editing, publishing flows, revisions, admin design, and more.

Plugins and tools

Interactivity API proposal

The Interactivity API is a new proposal for a standard approach to building interactive, JavaScript-based front-end features. And, it touches everything, from “like” buttons to persistent media players across page loads, to things that are just coming on your radar.

This API is not officially a part of WordPress or Gutenberg at this point, but you should start getting acquainted with the concepts laid out in the proposal.

Text columns typography support

Gutenberg now has text columns support in typography. You can start supporting columns in custom blocks that feature Rich Text. (Handy for breaking up long lines of text in posts!)

At the moment, no core blocks support it, so this is primarily a plugin feature. But, there are tickets that are intended to bring it to the Paragraph and Post Excerpt blocks, freeing you to build a wider variety of theme designs in the future.

Custom units for FontSizePicker component

Since Gutenberg 15.4, you can pass an array of units to custom implementations of the FontSizePicker component. The eventual goal for this enhancement is to let you control the available units in theme projects, but the core Typography panel doesn’t yet support the feature.

Prop to remove bottom margin for FormTokenField component

There is an ongoing project to remove the default bottom margin on components. That overhaul lets you use them more flexibly, in more contexts, more easily. The FormTokenField is the latest component to receive the opt-in __nextHasNoMarginBottom prop.

New data parameter when deprecating blocks

A third parameter named data is now available via the isEligible() check for block deprecations. This update gives you more data to determine whether an instance of a block is the deprecated version.

Hooks

Originally slated for WordPress 6.2, the wp_ajax_save_attachment hook was removed from core. Its ticket has been reopened for more discussion on whether the hook is necessary. 

Documentation

The documentation for working with the panels in the Document sidebar has been updated to show you how to access, toggle, and remove panels programmatically.

Noteworthy extras

The bundled  jQuery library in core WordPress was bumped to version 3.6.4. And, an unseen icon was added to Gutenberg 15.5, which appears as a closed eyelid.

Themes

Cover block updates

The Cover block now supports the core layout feature. At the moment, that support is limited to the flow layout. But, this change lays the groundwork for other layout types, like flex and grid, to join flow soon. 

While layout support should not interfere with default uses of the Cover block, you will want to test this change against the way your themes use the Cover block.

The block also has text color support. So, now you can define a single text color on the Cover block itself, which will trickle down to nested blocks.

Now, you can define styles for the :link and :any-link pseudo-selectors in theme.json. This update lets you customize links in any state.

Extra layout wrapper classes

A recent change added compound classes to layout wrappers. For example, a Group block with a flex layout now has the .wp-block-group-is-layout-flex class as well as .is-layout-flex. This extra class handles layout support for containers with nested structures, like the Cover block.

The extra class should not impact your existing theme designs, but it does bring new classes you can target with block-specific customizations.

Post Modified Date block variation

Gutenberg 15.5 introduced a Post Modified Date variation for the Post Date block. As its name implies, now you can show when a post was last modified instead of or alongside the date it was published—great for technical information that updates over time.

Bug fixes

A recent bug fix makes sure the Post Featured Image block has the correct aspect ratio when the image is wrapped in a link.

Noteworthy user-centric changes

The following items may not directly affect what you build as a developer. But, they do change how users might interact with their active theme—and potentially how you support your own users, customers, or clients.

Events and resources

Learn WordPress

Two new resources have landed in the Learn WordPress site in the past month:

Developer Blog articles

The WordPress Developer Blog is now officially out of beta, and three new articles were published over the past month:

Props to @bph for co-writing and wrangling these resources; @jameskoster and @richtabor for assets; and @ndiego, @webcommsat, @marybaum, and @oglekler for feedback and review.

Leave a Reply

Your email address will not be published. Required fields are marked *