Making 43% of the Web More Dynamic with the WordPress Interactivity API

Posted by download in Software on 17-04-2024

Creating rich, engaging, and interactive website experiences is a simple way to surprise, delight, and attract attention from website readers and users. Dynamic interactivity like instant search, form handling, and client-side “app-like” navigation where elements can persist across routes, all without a full page reload, can make the web a more efficient and interesting place for all.

But creating those experiences on WordPress hasn’t always been the easiest or most straightforward, often requiring complex JavaScript framework setup and maintenance. 

Now, with the Interactivity API, WordPress developers have a standardized way for doing that, all built directly into core. 

The Interactivity API started as an experimental plugin in early 2022, became an official proposal in March 2023, and was finally merged into WordPress core with the release of WordPress 6.5 on April 2, 2024. It provides an easier, standardized way for WordPress developers to create rich, interactive user experiences with their blocks on the front-end.

ELI5: The Interactivity API and the Image Block

Several core WordPress blocks, including the Query Loop, Image, and Search blocks, have already adopted the Interactivity API. The Image block, in particular, is a great way to show off the Interactivity API in action. 

At its core, the Image blocks allow you to add an image to a post or page. When a user clicks on an image in a post or page, the Interactivity API launches a lightbox showing a high-resolution version of the image.

The rendering of the Image block is handled server-side. The client-side interactivity, handling resizing and opening the lightbox, is now done with the new API that comes bundled with WordPress. You can bind the client-side interactivity simply by adding the wp-on--click directive to the image element, referencing the showLightbox action in view.js.

You might say, “But I could easily do this with some JavaScript!” With the Interactivity API, the code is compact and declarative, and you get the context (local state) to handle the lightbox, resizing, side effects, and all of the other needed work here in the store object.

actions: {
			showLightbox() {
				const ctx = getContext();

				// Bails out if the image has not loaded yet.
				if ( ! ctx.imageRef?.complete ) {
					return;
				}

				// Stores the positons of the scroll to fix it until the overlay is
				// closed.
				state.scrollTopReset = document.documentElement.scrollTop;
				state.scrollLeftReset = document.documentElement.scrollLeft;

				// Moves the information of the expaned image to the state.
				ctx.currentSrc = ctx.imageRef.currentSrc;
				imageRef = ctx.imageRef;
				buttonRef = ctx.buttonRef;
				state.currentImage = ctx;
				state.overlayEnabled = true;

				// Computes the styles of the overlay for the animation.
				callbacks.setOverlayStyles();
			},
...

The lower-level implementation details, like keeping the server and client side in sync, just work; developers no longer need to account for them.

This functionality is possible using vanilla JavaScript, by selecting the element via a query selector, reading data attributes, and manipulating the DOM. But it’s far less elegant, and up until now, there hasn’t been a standardized way in WordPress of handling interactive events like these.

With the Interactivity API, developers have a predictable way to provide interactivity to users on the front-end. You don’t have to worry about lower-level code for adding interactivity; it’s there in WordPress for you to start using today. Batteries are included.

How is the Interactivity API different from Alpine, React, or Vue?

Prior to merging the Interactivity API into WordPress core, developers would typically reach for a JavaScript framework to add dynamic features to the user-facing parts of their websites. This approach worked just fine, so why was there a need to standardize it?

At its core, the Interactivity API is a lightweight JavaScript library that standardizes the way developers can build interactive HTML elements on WordPress sites.

Mario Santos, a developer on the WordPress core team, wrote in the Interactivity API proposal that, “With a standard, WordPress can absorb the maximum amount of complexity from the developer because it will handle most of what’s needed to create an interactive block.”

The team saw that the gap between what’s possible and what’s practical grew as sites became more complex. The more complex a user experience developers wanted to build, the more blocks needed to interact with each other, and the more difficult it became to build and maintain sites. Developers would spend a lot of time making sure that the client-side and server-side code played nicely together.

For a large open-source project with several contributors, having an agreed-upon standard and native way of providing client-side interactivity speeds up development and greatly improves the developer experience.

Five goals shaped the core development team’s decisions as they built the API: 

  1. Block-first and PHP-first: Prioritizing blocks for building sites and server side rendering for better SEO and performance. Combining the best for user and developer experience.
  2. Backward-compatible: Ensuring compatibility with both classic and block themes and optionally with other JavaScript frameworks, though it’s advised to use the API as the primary method. It also works with hooks and internationalization.
  3. Declarative and reactive: Using declarative code to define interactions, listening for changes in data, and updating only relevant parts of the DOM accordingly.
  4. Performant: Optimizing runtime performance to deliver a fast and lightweight user experience.
  5. Send less JavaScript: Reduce the overall amount of JavaScript being sent on the page by providing a common framework that blocks can reuse.  So the more that blocks leverage the Interactivity API, the less JavaScript will be sent overall.

Other goals are on the horizon, including improvements to client-side navigation, as you can see in this PR.

Interactivity API vs. Alpine

The Interactivity API shares a few similarities to Alpine—a lightweight JavaScript library that allows developers to build interactions into their web projects, often used in WordPress and Laravel projects.

Similar to Alpine, the Interactivity API uses directives directly in HTML and both play nicely with PHP. Unlike Alpine, the Interactivity API is designed to seamlessly integrate with WordPress and support server-side rendering of its directives.

With the interactivity API, you can easily generate the view from the server in PHP, and then add client-side interactivity. This results in less duplication, and its support in WordPress core will lead to less architectural decisions currently required by developers. 

So while Alpine and the Interactivity API share a broadly similar goal—making it easy for web developers to add interactive elements to a webpage—the Interactivity API is even more plug-and-play for WordPress developers.

Interactivity API vs. React and Vue

Many developers have opted for React when adding interactivity to WordPress sites because, in the modern web development stack, React is the go-to solution for declaratively handling DOM interactivity. This is familiar territory, and we’re used to using React and JSX when adding custom blocks for Gutenberg.

Loading React on the client side can be done, but it leaves you with many decisions: “How should I handle routing? How do I work with the context between PHP and React? What about server-side rendering?”

Part of the goal in developing the Interactivity API was the need to write as little as little JavaScript as possible, leaving the heavy lifting to PHP, and only shipping JavaScript when necessary.

The core team also saw issues with how these frameworks worked in conjunction with WordPress. Developers can use JavaScript frameworks like React and Vue to render a block on the front-end that they server-rendered in PHP, for example, but this requires logic duplication and risks exposure to issues with WordPress hooks.

For these reasons, among others, the core team preferred Preact—a smaller UI framework that requires less JavaScript to download and execute without sacrificing performance. Think of it like React with fewer calories.

Luis Herranz, a WordPress Core contributor from Automattic, outlines more details on Alpine vs the Interactivity API’s usage of Preact with a thin layer of directives on top of it in this comment on the original proposal.

Preact only loads if the page source contains an interactive block, meaning it is not loaded until it’s needed, aligning with the idea of shipping as little JavaScript as possible (and shipping no JavaScript as a default).

In the original Interactivity API proposal, you can see the run-down and comparison of several frameworks and why Preact was chosen over the others.

What does the new Interactivity API provide to WordPress developers?

In addition to providing a standardized way to render interactive elements client-side, the Interactivity API also provides developers with directives and a more straightforward way of creating a store object to handle state, side effects, and actions.

a table showing the differences of developing interactive elements on WordPress with and without a standard
Graphic from Proposal: The Interactivity API – A better developer experience in building interactive blocks on WordPress.org

Directives

Directives, a special set of data attributes, allow you to extend HTML markup. You can share data between the server-side-rendered blocks and the client-side, bind values, add click events, and much more. The Interactivity API reference lists all the available directives.

These directives are typically added in the block’s render.php file, and they support all of the WordPress APIs, including actions, filters, and core translation APIs. 

Here’s the render file of a sample block. Notice the click event (data-wp-on--click="actions.toggle"), and how we bind the value of the aria-expanded attributes via directives.

<div
	<?php echo get_block_wrapper_attributes(); ?>
	data-wp-interactive="create-block"
	<?php echo wp_interactivity_data_wp_context( array( 'isOpen' => false ) ); ?>
	data-wp-watch="callbacks.logIsOpen"
>
	<button
		data-wp-on--click="actions.toggle"
		data-wp-bind--aria-expanded="context.isOpen"
		aria-controls="<?php echo esc_attr( $unique_id ); ?>"
	>
		<?php esc_html_e( 'Toggle', 'my-interactive-block' ); ?>
	</button>

	<p
		id="<?php echo esc_attr( $unique_id ); ?>"
		data-wp-bind--hidden="!context.isOpen"
	>
		<?php
			esc_html_e( 'My Interactive Block - hello from an interactive block!', 'my-interactive-block' );
		?>
	</p>
</div>

Do you need to dynamically update an element’s inner text? The Interactivity API allows you to use data-wp-text on an element, just like you can use v-text in Vue.

You can bind a value to a boolean or string using wp-bind– or hook up a click event by using data-wp-on–click on the element. This means you can write PHP and HTML and sprinkle in directives to add interactivity in a declarative way.

Handling state, side effects, and actions

The second stage of adding interactivity is to create a store, which is usually done in your view.js file. In the store, you’ll have access to the same context as in your render.php file.

In the store object, you define actions responding to user interactions. These actions can update the local context or global state, which then re-renders and updates the connected HTML element. You can also define side effects/callbacks, which are similar to actions, but they respond to state changes instead of direct user actions.

import { store, getContext } from '@wordpress/interactivity';

store( 'create-block', {
	actions: {
		toggle: () => {
			const context = getContext();
			context.isOpen = ! context.isOpen;
		},
	},
	callbacks: {
		logIsOpen: () => {
			const { isOpen } = getContext();
			// Log the value of `isOpen` each time it changes.
			console.log( `Is open: ${ isOpen }` );
		},
	},
} );

Try it out for yourself

The Interactivity API is production-ready and already running on WordPress.com! With any WordPress.com plan, you’ll have access to the core blocks built on top of the Interactivity API. 

If you want to build your own interactive blocks, you can scaffold an interactive block by running the below code in your terminal:

npx @wordpress/create-block@latest my-interactive-block --template @wordpress/create-block-interactive-template 

This will give you an example interactive block, with directives and state handling set up. 

You can then play around with this locally, using wp-env, using a staging site, or by uploading the plugin directly to your site running a plugin-eligible WordPress.com plan

If you want a seamless experience between your local dev setup and your WordPress.com site, try using it with our new GitHub Deployments feature! Developing custom blocks is the perfect use case for this new tool.

The best way to learn something new is to start building. To kick things off, you may find the following resources a good starting point:

WordPress Website Speed Build: The Masters Golf Tournament

Posted by download in Software on 16-04-2024

Congratulations are in order for Scottie Scheffler, the winner of the 2024 Masters Tournament in Augusta, Georgia! In today’s Build and Beyond video, Jamie Marsland takes on the slightly less intimidating task of re-creating the Masters website as quickly as he can. Can he possibly do it in just 30 minutes?

Along the way, you’ll learn about sticky navigation menus, image overflows and breakouts, card layouts, and more.

Interested in a free trial that allows you to test our all that WordPress.com has to offer? Click below:

How WordPress Is Creating a Faster Web

Posted by download in Software on 15-04-2024

Today, WordPress powers more than 40% of the web. That’s a massive reach—one that comes with a similarly large responsibility. With so many people using the CMS, the WordPress community should always consider strategies for improving the visitor experience. This is where website performance plays a crucial role.

How fast a web page loads, how quickly a page reacts when you click a button, or how smoothly it scrolls can all significantly impact the end-user experience. A more performant site can lead to higher reader engagement and more conversions. Thankfully, over the past few years, the WordPress project has made major performance improvements across the board for the core platform, plugins, and themes.

Many enhancements are available out of the box, with no configuration required. They improve the website frontend’s performance—the part visitors see—and various parts of the administrative experience, such as the editor.

Here’s a partial list of performance upgrades from the past year:

In addition to the Core enhancements listed above, the WordPress project continues to work on several efforts that indirectly benefit the ecosystem’s performance.

For instance, WordPress Core leverages automated tooling for continuously monitoring its performance, covering every product update. This helps measure new features’ performance improvements and enables contributors to detect potential performance problems during the development of a new feature or release so any issues can be proactively addressed long before end users are affected. A project is currently underway to make the same tooling used by WordPress Core developers available to plugin and theme authors as well.

Additionally, the new WordPress plugin checker allows checking any plugin for performance best practices, among other requirements and recommendations. The plugin checker should lead to more performance awareness in plugin authors and, eventually, faster plugins. If you develop plugins, consider integrating this tool into your development and testing workflow.

Last but not least, WordPress 6.5 introduced the Interactivity API, which is a technical foundation that facilitates more performant user interactions. This new infrastructure drastically simplifies the implementation of interactive website features and can even centrally control certain aspects of performance, keeping multiple independent plugins operating efficiently.

These performance updates result from a collaborative effort from all corners of the community, including the WordPress Performance Team. This team, founded in 2021, underscores the WordPress project’s commitment to performance. And the results are substantial: Compared to a year ago, 8% more WordPress sites deliver good load time performance at scale—significantly better than the overall web’s 5.5% load time improvement. The web is getting more performant, and WordPress is leading the way.

WordPress contributors are determined to continue this trend by working on further performance iterations. Whether you’re a WordPress end user, administrator, site builder, or developer, you can contribute to this effort. Anyone can test the performance features before being released in Core through individual feature plugins. Each feature can be tested via the Performance Lab plugin, so please try them! Testing features early helps the team assess their impact and collect valuable feedback.

Are you eager for more WordPress performance news and updates? Then check out the 2024 performance roadmap. Thanks to the entire community for your hard work. Not only does it ensure WordPress’ continued improvement and growth, but it benefits the entire open web.

Thank you to @annezazu @clarkeemily @tweetythierry @swissspidy @westonruter @adamsilverstein @joemcgill for content review and @provenself @dansoschin for editorial review.

WP Briefing: Episode 77: Let’s Talk About Data Liberation

Posted by download in Software on 15-04-2024

Explore the WordPress Data Liberation project in this exclusive behind-the-scenes episode discussing WordPress migrations. Joining us is WordPress Executive Director Josepha Haden Chomphosy, along with special guest and sponsored contributor Jordan Gillman. Together, they’ll look at how the project is expanding opportunities to benefit from the freedom and flexibility WordPress offers. Don’t miss this enlightening discussion!

Credits

Host: Josepha Haden Chomphosy
Guest: Jordan Gillman
Editor: Dustin Hartzler
Logo: Javier Arce
Production: Brett McSherry and Nicholas Garofalo
Song: Fearless First by Kevin MacLeod

Show Notes

Transcript

[00:00:00] Josepha: Hello, everyone, and welcome to the WordPress Briefing, the podcast where you can catch quick explanations of the ideas behind the WordPress open source project, some insight into the community that supports it, and get a small list of big things coming up in the next two weeks.

I’m your host, Josepha Haden Chomphosy. Here we go! 

[00:00:28] (Intro Music) 

[00:00:40] Josepha: Today, I want to talk about the Data Liberation project that we first introduced at State of the Word. It’s a very big project with a lot of philosophical underpinning. So today, I have with me Jordan Gillman, who’s going to help us dig in a little bit deeper.

Jordan, welcome to the show. It’s so great to have you here.

[00:00:57] Jordan: Thank you. It’s lovely to be here.

[00:00:59] Josepha: Before we get started, why don’t you tell us a little bit about yourself? Like what parts of the WordPress project you contribute to, and how long you’ve been hanging around in open source?

[00:01:09] Jordan: Yeah, beautiful. I would love to. My name is Jordan. I live on the east coast of Australia, about an hour out of Sydney—about 10 minutes from the beach, which is a pretty great place to live. My relationship with WordPress began 19 or 18 years ago, I guess. I was tinkering with Movable Type, and they changed their license.

And I went, I need to find something that’s free. And at that point, I had no idea what open source was. I just knew that I could use this WordPress platform for free to you know, tinker around and build websites. At the time, I was a graphic designer and, so web stuff was just fun. But gradually, that kind of took over, and I ended up doing a lot of front-end development and eventually freelancing for about ten years, building WordPress sites for churches and schools and kind of non-profit organizations like that. And through that, I’ve also then ended up doing some support for WordPress and landed being lucky enough now to be sponsored to contribute full-time into the WordPress project. I do a lot of work with the support team, so working in the public forums, particularly on core WordPress plugins and themes like Gutenberg and bundled themes, Twenty Twenty-Four.

[00:02:15] Jordan: But also working with the team itself, trying to make sure the forums are a nice place for people to hang out and answer questions and get their questions answered. And I also help out with a few other things around the place. I have an eye on the work the plugins team’s doing, working with the WordPress Foundation on a few different things. I’m lucky to have my fingers in a few pies but the biggest pie at the moment I have is the Data Liberation project.

[00:02:36] Josepha: Yeah. So let’s talk about that. We’re going to give everyone a quick like starting line. If, for some reason, you have not read or seen anything about the WordPress project plans so far in the last four months, you may not know what the Data Liberation project is, and that’s fine, too. Because Jordan and I are here to help you understand what it is. But, the Data Liberation project is something that Matt introduced to the project at State of the Word last year in December. And you, Jordan, are the one who are really helping us to take this project into a space where we have everything that we need, all the kind of tools and guides that users will need in order to do what exactly? Like, let’s go through what this Data Liberation project is from your standpoint and what made you excited to work on it.

[00:03:27] Jordan: Thank you. Yeah, so the general idea of the Data Liberation project is it should be super duper easy for anyone to bring their site to WordPress. That’s the first main part of it, is that regardless of the platform you are on currently, be it something that’s pretty open, be it something that’s really kind of walls and closed, be it a social media platform, another web building platform, it should be really easy to bring your content over to a WordPress site, because once it’s in a WordPress site, it’s essentially free. You can then take it and do what you want with it once it’s in WordPress, but we want to make it as easy as possible to get it here, basically. 

[00:04:03] Josepha: Free as in liberated, not free as in like, now the stuff that was in your mind has no value.

[00:04:10] Jordan: Yeah, free as in liberated, free as in you own it and can do what you want with it. So that’s a big part of it. It’s, let’s get, make it easier for people to come to WordPress. I think it’s also important that if we’re talking about Data Liberation and freedom of content and democratizing publishing, that also means we make it easier for people to take their content from WordPress and use it somewhere else if that’s the decision that they make. And there’s some moves we can make to make that easier and nicer for people as well.

[00:04:37] Josepha: Yeah. Yeah, absolutely. So, recently, we just finished up an outreach period where we were making sure that we were talking to, like, folks in the community and anyone, anyone who uses WordPress that wanted to talk to us about what they needed, what they were hoping for, what issues, what pain points they’ve had when they were looking at site migrations.

So, what, to the best of your knowledge at the moment, like what are the big themes that you got out of that feedback loop? Out of that outreach?

[00:05:08] Jordan: Yeah, thank you. That was really enjoyable, actually. I was lucky enough to, I got to speak to a bunch of people in person at WordCamp Asia, which was great. We’d done some, some online, did a hallway hangout, and we’ve had a survey out for a while to folks predominantly kind of in the hosting agency freelancer space. So, folks who are working with end users who are often the ones doing migrations. We got a lot of feedback about WordPress to WordPress migration and the challenges of different hosting platforms and access from users and a bunch of information, which is useful and interesting but not immediately relevant to the comparison to migrating to WordPress from another platform entirely.

But at the same time, talking to particularly agencies who do a lot of big-scale migrations, there’s a lot of challenges just when it comes to, for starters, getting the content out of the platform. Some platforms are kind of helpful, and they’ll even provide a WordPress formatted export. For every one of those, there are…

[00:06:03] Josepha: That’s very helpful.

[00:06:05] Jordan: Yeah, those are super helpful. For every one of those there are probably two or three who aren’t as helpful, and you start to resort to tricks with, you know, manually exporting databases or getting RSS feeds and trying to convert them, or a lot of agencies said, “You know what? Often, we end up just copying and pasting page by page from the source site into a brand-new WordPress site.”

[00:06:27] Jordan: So, there’s challenges about the access to the content. There’s lots of challenges around getting the content from the shape of one platform into WordPress. What constitutes a page? What constitutes a post? How do we handle all of the extra metadata of images and dates and taxonomies, and anything else that might be associated with a blob of content in one platform?

How do we translate that into the way WordPress likes to handle those things? And particularly taking that to another level, even just bringing it into the Block Editor? It was great to hear how many people are just migrating straight to the Block Editor like they want the content in blocks, which is wonderful to hear.

[00:07:05] Josepha: Yay!

[00:07:05] Jordan: But there are challenges. I know it’s great. But there are some, there are challenges with that and getting it to kind of format the way they expect, when it comes in particularly because there’s some kind of functional challenges with that in validating the way the content comes in because it all happens client side in the browser. 

It’s hard to do that in big batches. So, there was some really great feedback around all of those kinds of places. It was really interesting to see how much of it centers around that getting the content and then getting the content, and yeah, for the agencies I spoke to, they do a lot of trial and error of, you know, custom scripts, and let’s try it. Oh, that did this. Let’s try again with a few tweaks. So I’m excited to see how we can kind of make that easier for them and, you know, maybe get it happening first time. 

[00:07:49] Josepha: Yeah, absolutely. It has been a long time since I migrated any sites personally, but I remember the first time that I tried to migrate a site. So, I was on Xanga before Xanga was on WordPress, and I remember that when I was like, I can’t figure out this WordPress thing, but I think I need some stuff in it so that, like, I know what it’s going to look like.

[00:08:11] Josepha: I know what to move around cause I didn’t know the names for anything in, in CSS or HTML. Like I didn’t know what to look for in the code, but if I had a piece of content in it, I could be like, find the content in the code and then move that. And so I was like, I’m going to export everything because there was an export option in Xanga. And move it into WordPress, and WordPress was like if you can manage to get it out of Xanga, super easy to get it in. But it was actually really difficult to figure out how to get it out. And fortunately, I’d only been writing on it for like four years, three, four years at that point. So there wasn’t like, a huge amount of content, but also, I was a pretty prolific writer. I was a bad writer, but the only way to get better at things you’re bad at is to do it a lot. So, I did a lot of bad writing for three or four years. And I think that in the end, I did, like, just pay some service to scrape everything that was public on it, and then go through and get the private things and pull it out later.

[00:09:08] Josepha: I think later on down the road, I did an actual like full migration when it was easier to get it done and got all the content out, including like drafts and private posts and things. So that’s good. But yeah, it was really difficult then. And then, like, we have the blocks now that are supposed to help get a little bit more consistency in the way that you can move content in and out of a WordPress site.

And is that something that we are then focusing on with the Data Liberation project? Is that something that’s being done in concert with our Gutenberg plugin, or like how are we accounting for that?

[00:09:46] Jordan: That is a great question. The way things are looking at the moment, having come out of this feedback and the way we’re looking at going forward that, that work on getting content coming into blocks is going to be a really, really major part of Data Liberation. And it kind of sits in the middle of things to my mind.

[00:10:01] Jordan: The improvements that we can make with handling the way content is transformed into blocks gives us the potential of wins in a lot of places. So, as long as we can get to the content, this work on HTML to blocks for a better, lack of a better way of putting it, gives us wins with importing from another platform because we can take the content in whatever form it is, turn it into blocks in the post editor.

It gives us wins with migrating from classic editor because, similarly, we can take the HTML of the classic editor generates and turn it into blocks. That already kind of happens, but there’s definitely some work that we can do to keep improving that. It gives us potential wins around the spaces of moving from between proprietary builders and block libraries and things. Because if we start to have a better-standardized set of ways to handle HTML into blocks.

Then, you can essentially move from whatever form your content is in into, you know, core native blocks in the editor. So, I think work there is going to be really important because it gives us a foundation to aim for from whatever the migration is happening from.

[00:11:09] Jordan: So, there’ll be some work there. There’s already work happening on the HTML API. Like, ongoingly and regularly and so we’ll be talking to those folks. There’s obviously going to be a lot of overlap with the work within Gutenberg as well, which is doing you know, parsing of content into blocks. So, it’s going to take a lot of collaboration and a lot of work from everyone, but I’m really excited because if we can get that foundational platform of transforming HTML into blocks really, really smooth, then what we can do is we can, you know, activate contributors in the community say, we’ve got this part figured out. If you can get it to here, it’s going to come in beautifully. So what we want your help with is to say, how do I get out of this platform to a format that we can do the rest? So, hopefully, we’re getting a common flow for a big part of that important migration process. And then we can throw it open to others to say, “You’ve got expertise with this platform. That’s excellent. Can you get us to here? And we’ll take it from there.” And maybe we’ll get some wins by doing that work in parallel, and we’ll really start to see some movement.

[00:12:13] Josepha: And speaking of the, we’ll take it from there. I know that also, in addition to the work that you are doing with Data Liberation and that is happening on the Gutenberg side and WordPress core in general, we also have a little bit of work happening on the after you get it to here point.

So, the folks over at Playground have been doing a bit of research about how to use the guides and tools that are in the Data Liberation repo. To run all of that through Playground so that you can not only like import it, but you can put it into Playground and check it before you launch it in someplace else, which I think is a great user-facing, like, super important thing for an everyday user to be able to have at their fingertips that way.

But then also the tour plugin that was built, I think specifically for the Polyglots team, is where we are looking at using, and I can’t remember which little project we’re doing some research on to make this possible, but we’re looking at taking that tour plugin and making it so that anyone can build a tour on anyone’s version of something in a browser so that you can just say, okay, so I did these things. I got it to here as you requested. I’m moving it to here. But now that I have got it into WordPress, what are the literal buttons I have to press in order to make sure it’s live? What do I literally have to press in order to make sure that I’m in the right time zone? Like, things like that. And we tested it on Wix, and it was able to work.

[00:13:40] Josepha: Not that we’re trying to get anyone to Wix. But on the subject of, like, getting things out of WordPress and into someone else, that sounds counterintuitive for folks, like, you’re here listening to a WordPress podcast, and we’re talking about how and why we want to make it easier for people to get their content to us, of course, but then also, if needed, get it out of a version of WordPress and either into a different version of WordPress with a new host or, whatever.

Or if this is not your long-term destination, which we think it will be once you figure us out, but like, if it’s not, like, how to get out of it, too. So, from your perspective, how does that fit with the basic philosophies of open source or of WordPress in general?

[00:14:24] Jordan: Yeah, thank you. If I may, there’s a couple of things I wanted to touch on from what you’ve said. First of all the other work that is going on in the project at the moment that you mentioned, the tour guide and the Playground, I think both of those are going to be super important to the approach we take to Data Liberation.

I wanted to elaborate just a little bit on the Playground because I’m particularly excited about the potential that gives for two particular scenarios two particular use cases for migration. One is, where I’ve already set up a WordPress site, I’ve got the theme that I’d like, and I’ve got some, you know, some plugins, maybe I’ve got a little bit there, but I want to import content, but I want to check how it is the potential for the Playground to make essentially a staging copy of my site and migrate the content into that staging copy so I can see how it lands in my chosen theme and check everything out and then go, yep, that looks great. And apply it. That’s great for it’s safe. You can check how it looks before it’s, you know, committed. So that’s brilliant. I’m excited about that. I’m also excited about the potential it has for people who don’t know WordPress, or don’t have a WordPress site, or they don’t have a host, they don’t have anything.

[00:15:30] Jordan: But if they can say, I want to see how this would go in WordPress. Playground, through some platform, somewhere, will allow them to just have an immediate in-browser preview of what their site would look like on WordPress. And if they like it, we then move them. We help them find a host. We help them export that in a way that they can use, but it helps the people who already have sites.

But I think, more importantly, it helps those who don’t have a site yet. And they don’t have to set up an empty WordPress install in order to start migrating. They can just get into it. 

[00:16:01] Josepha: And also, you don’t have to, like know who your host needs to be before you can take a look at the back end of a WordPress site and see if it makes sense to you. Like I think that that is a huge, huge win on behalf of users, current users, and future users of WordPress.

It’s the try before you buy. Come kick our tires without having to find a server. If you all don’t know what we’re talking about, if you have not heard of Playground yet, you can go to playground.WordPress.net and give it a try. It’s a one-click, serverless local version of WordPress that you can test out themes on and plugins, and just like put all your data into all your content into, and pretty soon also be able to export or just load directly onto the host of your choice. It’s really, really cool.

[00:16:44] Jordan: It’s, it’s pretty much magic, I think. 

[00:16:47] Josepha: Yes, I remember the first hackathon where we took it because we took it basically on a hackathon roadshow for six months. I remember the first one we took it to. Routinely, we could get developers, not me, routinely, Adam Zieliński could get a developer to do the thing, and they’d be like, I can do it if you’re next to me telling me what to do, but it’s literal magic. I don’t know what’s happening. And he was like, okay, I’ll come explain it to you. And like, he was using English, but also I was like, that is still magic. I’m so glad someone understands it. It’s brilliant.

[00:17:18] Jordan: Yeah, so the Playground I’m super excited by. I think it’s going to be really important. The tour stuff the tour functionality is going to be really important as well. Because on some level, We’re going to have to wrap all of this work on improving HTML to blocks, the process of taking an export file and importing it into WordPress, the process of telling people how to get the content, all that’s going to have to be ideally wrapped up in a nice user-friendly way so that users aren’t having to, you know, read plain text articles and then going and installing a plugin and all of those kinds of things.

I think the potential for the tours is we may have some kind of wrapper plugin or something which will detect the platform of your existing site if you put the URL in, and it will start walking you through the steps. So, part of that might be action you need to take on your existing platform, and we have some of that information already in the guides on the Data Liberation site at WordPress.org/data-liberation. That information is already there, but I’m hoping that we can start pulling those guides into the WP Admin so you just get walked through it while you’re there. And we can start using the tour functionality to really specifically pinpoint: you need to go here, now you can do this, go and click this, and just walk users through that migration process a little bit more neatly.

[00:18:37] Jordan: I’m really excited that we’re going to be able to utilize a lot of these existing projects that are exciting and happening at the moment. And I think, ideally, they’re all going to make it much easier for users to not have to jump through so many hoops. And the hoops that they do have to jump through, we can hold their hand while they do it.

[00:18:54] Josepha: Yeah, absolutely. Create safe scaffolding for fun, I used to say.

[00:18:59] Jordan: So those are the two projects existing that are happening at the moment that I’m excited about rolling into and working with for the Data Liberation work.

[00:19:07] Jordan: You also asked about the getting content back out, which is something that I’m particularly passionate about, I suppose. Which may be ironic when a lot of the aim of this project is to get people into WordPress. But I’m a really firm believer that if our mission is to democratize publishing, then that doesn’t mean just get everyone onto WordPress and go, yes, now you’re trapped. It’s like the Hotel California, you can never leave. If we’re going to be, you know, fully all in on democratizing publishing, then that means giving folks the freedom to take their content to do with it, whatever they want. It’s fair to say at the moment that that is possible.

So you can export your content from WordPress. We don’t hang onto it. We don’t lock it down. You can take it. At the moment, the format that you get that content in has some limitations. It’s fair to say it doesn’t handle bringing the media of your site particularly well unless you’re turning it into another WordPress site somewhere else.

So, the export functionality is very, very focused at the moment on migration to another host, or to a local site, or to another WordPress installation, basically. But if you want to use that content for something else, maybe another platform. Maybe you just want to have a copy of your blog posts that you can. 

[00:20:17] Josepha: Print it into a book.

[00:20:18] Jordan: Yeah, to put into a book. Maybe you want to put it on a thumb drive and put it in a lockbox somewhere. Maybe you want some kind of hundred-year archive of your intellectual property that you’ve written and created. And so I think we’ve got some room to make improvements there. Not only to the way we provide content for other platforms to pick up and bring in but also just in the ways that we provide content to users who just really want to have a physical, digital copy of what they’ve created. 

There are some challenges at the moment when you get an export, if you’ve got shortcodes in your content, if you’ve got content that’s generated by plugins, all kinds of dynamic content that is great when it’s a website, and WordPress is wonderful. And there’s all of these options, but if you take an export, you have references to those functions, and you have references to those shortcodes, which aren’t actually fully realized. So I think there’s some room for us to investigate what does a better export for other platforms look like and what does a better export for “I want to print it out or turn it into a book or just have a static version of that” content look like. And so I’m particularly excited about that, even though it’s kind of, bring it in, and we want to let them get it out. But that’s part of the whole liberation of data, I suppose, is, you know, the freedom to do with it what you want.

[00:21:40] Josepha: Yes, absolutely. And everything that increases freedom on the open web, I think we are in favor of. So, I don’t know if you follow many, like WordPress futurists, our people who are out there saying, if only WordPress had these additional 2,500 hours worth of work, then we could do this with it. Like, I don’t know if you follow a lot of them. 

[00:22:02] Josepha: But, a lot of them look at that thing that Matt said, like, I want to say, five years ago about WordPress becoming the operating system of the web and putting some thought into what would be required to make that possible. And when we look at composable CMSs, like the option to have something that is a framework and a core of what you are doing in your digital experience of the web. And making it possible to add anything to it required. 

I think that also the work that we’re doing with Data Liberation to provide a little bit more consistency and just standardization of the way that content comes in and out, I think, can only help with that potential future implementation of WordPress as the operating system for the web so that you have this basic place where you hold and manage all your content and also not only does WordPress cooperate nicely with all these other tools and applications that you can put on top of it but also all of the content has standard conversational touch points and so everything moves quickly in and out including the dynamic content that is maybe being created inside your WordPress core itself. I think that is also a really important not primary focus, but certainly future-like, if only we could get to that state kind of focus. 

[00:23:31] Josepha: I’m really interested. I think that the Data Liberation project is big, and I know that we expected primarily only new contributors to work on it, but honestly, we know that’s not the case. It’s you’re working on old WordPress in here and so not necessarily new contributors. But I think that you’re right that the place for new contributors to help us is saying like we can get the content to here, we can get the data to here, and then we need help getting it into WordPress or help getting it into something else.

So, as like a last question here, or if you have things to add to that, and then I can do last question.

[00:24:04] Jordan: Okay, so to loop back to your conversation about futurists and moving content and stuff, I am really excited about this idea that the open web at the moment, I think, is really, really exciting. I just started mucking around with federating my content in the fediverse. Again, recently, I tried it a little while ago and really struggled, but I’ve just started again, and it’s sitting really comfortably with me, and it’s, it’s feeling like it’s a great time for posting and owning your content, and then syndicating it elsewhere. I have seen a couple of really interesting conversations about what you were saying about, like I’ve seen the conversations in the past about, you know, operating system of the web, but also some talk and ideas recently about what would it look like if we stored all of our data in a WordPress instance?

What if all of my photos aren’t on Instagram? They are on my WordPress site. What if I pull in my Fitbit or my Strava information and just store it in WordPress so that I can do with it what I want once it’s there? What if I, I don’t know, what if I pull in kind of all of my different sources of data and I, and I house them in WordPress and then I can do with them what they want, would do with them what I want.

[00:25:08] Jordan: And that is when the Data Liberation stuff becomes especially important because if it’s your everything, you want to take your everything somewhere else. But I’m really excited for kind of all of that kind of space at the moment and giving people the freedom to own that data and when they create stuff.

In actual fact, this is one of the things that you said in your talk at WordCamp Asia, which has really stuck with me was, and I can’t remember the exact phrase, but you said if you’re going to do all of this work of creating something, you may as well do it somewhere where you own it and can keep it. And that, for me, is just such a strong driver for getting people onto WordPress. Particularly from, at the moment, social media platforms. I’ve got two young daughters who are just getting to the age where they’re creating videos at home, which aren’t being published anywhere, but they’re starting to. They’ve got friends who are doing YouTube channels, and they’ve got friends on Instagram.

And I’m looking at all of that going, I get the urge to create, and I get the urge to publish, but I want them to have an alternative to do all of that so that in five years’ time, ten years time, whatever it is, when they go, wow, I did all of this stuff. I don’t want that owned by someone else. I’ve created all this, and I’m excited by the possibility of having that become a simpler, more user-friendly, accessible option to folks, where it becomes just as easy to have a WordPress site, which is your Instagram feed or a WordPress site, which is your YouTube channel or something like that, where you own it, and you just create it, and it exists. And Data Liberation means you want to take a copy of all that stuff, go for it, download an archive, you know, print out the photos, do whatever you want, but they’re yours. You have them. And so, it’s really feeling like all of that is coalescing together a little bit at the moment. I think it’s a really exciting time. 

[00:26:52] Josepha: And also, like, since we’re just meandering around in philosophical spaces, two philosophical thoughts. One, I really, really feel like it’s important and valuable for people to document their lives. I have a pretty private social media presence; mostly, if you’re following me on social media, it’s because, like, you have literally been in my living room or you’re looking for WordPress news. Like that’s it. But I am constantly am documenting my life just for myself, like the folks who are listening, which is everybody, because we don’t do video, will not know that I have back behind me a shelf that is nothing but journals from my leadership journey, like from the moment that I realized that like leadership was something that was a skill and could change people’s lives like I’ve done nothing but document like I ran into this problem. This is the research that I did to figure out what was happening and not, and just like it’s really mundane things in my work now. But the work and the process of documenting, like, what’s happening for you and with you in your life and how you’re interacting with it, like, it’s just important for your mental health and for your understanding of the passage of time.

[00:28:05] Josepha: But then also you were talking about, like, having a hundred-year archive of your thoughts and things, like, there will be a point at which digital information being ephemeral because it’s just electricity wandering around between screens, like, it’s prone to getting lost in the same way that physical things are prone to getting lost, but the loss is less acute in the moment.

And so you can accidentally lose it. And I think that that’s a real long-term not problem for society necessarily, but I think it is something from a societal standpoint where we’re gonna, at some point in the near future, realize that some of us have huge missing gaps where we, like just got rid of everything that we ever documented because we had a moment on social media or because it seemed like the only way to reclaim our content or our data or our privacy or whatever it was. And so I have a yeah. I love it. I love everything that we’re talking about, about the speculative future and WordPress. And so yes, now, well, now everybody knows all my thoughts on speculative WordPress. 

[00:29:06] Jordan: There’s an interesting philosophical conversation which we’re like coming towards of what’s the equivalent in a hundred years, in 200 years of now, of the Library of Congress for philosophical and powerful writing. There is so much great stuff that is written on the web, and it just exists there.

In a hundred years, when people are writing about the early work of an artist or a politician or, you know, a notable figure, we don’t, we’re not going to have handwritten letters. We’re not going to have correspondence. But we’ll have tweets. We could have blog posts. Like, it interests me to think, like, the stuff that we take for granted of historical creation is happening digitally now. And so, equivalently, in the future, how, how is that gonna get retained? How much amazing knowledge and thinking is gonna just, you know, have their hosting account expire and get removed? And it’s an, it’s it’s a big conversation, but it’s an interesting one.

[00:30:09] Josepha: Yeah. Oh, what a fascinating discussion we’ve had today. So, by way of wrapping up our discussion here, why don’t you give us a sense for, like, if you are a user of WordPress and you were like, this sounds really interesting, I want to learn more, where can they go? But also, if you are someone who wants to learn how to contribute to WordPress and this sounds like a good opportunity for you to get started with that. Where can people find more about this project, about how to get started, how to contribute, all that stuff? 

[00:30:38] Jordan: If you are someone who is hearing about this for the first time and coming to it pretty fresh and haven’t been working in the WordPress community much before. The best place to go will be WordPress.org/data-liberation, that will give you not only access to the tools and guides that exist but also some information on where the development and discussion is happening.

That’s the easiest pathway to find your way into those conversations as well. For folks who already have a little bit of experience and, it may be contributed code or a part of discussions already. The place to go to would be github.com/WordPress/data-liberation. That’s where there’s a lot of discussion. That’s where the existing tools and guides are being managed and worked on. So, if you really want to dive in. Please come and join us there. There are discussions to be had. There are ideas to be floated. That’s where all of the boots-on-the-ground work is going to be happening.

[00:31:25] Jordan: The other great place is within the Make WordPress Slack organization. And we have a Data Liberation channel in there. That is primarily where we have higher-level conversations, and we chat about stuff, and I’m hoping that becomes a real hub for work-adjacent discussion. So GitHub is going to be for all of this is where all the work’s happening, but the Slack channel is where people can share their thoughts on what’s possible, and big picture ideas, and that kind of stuff. So those will be the three best places. WordPress.org/data-liberation for the overview, github.com/WordPress/data-liberation for where the work’s actually happening, and WordPress Slack in the Data Liberation channel. If you want to come and chat more about the possibilities and, you know, helping get the future of the open web happening.

[00:32:17] Josepha: I mean, that is an enticing call to action. We’ll have links to all of the, all three of those in the show notes, as well as links to everything that we kind of mentioned over the course of our conversation. But Jordan, thank you so much for joining me today.

[00:32:32] Jordan: Thank you so much for having me. It’s been great.

[00:32:34] (Music interlude) 

[00:32:41] Josepha: And now it’s time for our small list of big things. I’ve got three things for you this week. 

The first thing on the list is that WordCamp US tickets are now on sale. So that event is happening from September 17th through the 20th in Portland, Oregon. There are general admission tickets and micro sponsor tickets available. And if you have seen the cost of the ticket but had not quite noted the length of the event, I just want to assure you that the cost per day is the same now as it was and has been for years. It’s still that same 25-dollar-a-day ticket that you’ve got; it’s just that it’s four days long this time. We’ll have a link to the tickets in the show notes, but then also you can always wander over to us.wordcamp.org, and it’ll take you right there. 

The second thing on our list is that WordPress 6.5 is here. It is named Regina. If you listened to our show last week, you know that it was a huge release and kind of has something for everyone. So, if you have not yet downloaded it to take a look at it, do that. If you have not updated your sites yet, run a backup because you should always do a backup and then get that on your site and start testing everything out.

And the third thing on our big list, our small list of big things, is actually that we’re looking at dropping support for PHP 7. 0 and 7. 1 in upcoming releases of WordPress this year. It should not be too disruptive a change. However, it is going to take a lot of people to test it and make sure that everything’s working as we want it to work and as we need it to work. And so while we head toward that, I want to make sure you’ve got the resources that you need to know what’s happening, where it’s happening, how it’s going to affect you. I’ll leave some resources in the show notes for that as well. 

[00:34:27] Josepha: And that, my friends, is your small list of big things. Don’t forget to follow us on your favorite podcast app or subscribe directly on WordPress.org/news. You’ll get a friendly reminder whenever there’s a new episode. If you liked what you heard today, share it with a fellow WordPresser, or if you had questions about what you heard, you can share those with me at WPBriefing@WordPress.org. I’m your host, Josepha Haden Chomphosy. Thanks for tuning in today for the WordPress Briefing, and I’ll see you again in a couple of weeks. 

[00:34:54] (Music outro) 

Registering Custom Post Types in the WordPress Admin: Our CloudFest Hackathon Report

Posted by download in Software on 15-04-2024

With WordPress today you need to use custom code or a plugin to create a custom post type like “Book” or “Member.” This is a popular need, and there are a variety of approaches; however, one challenge is that the end-user experience can be confusing and non-standardized.

A few weeks ago, some Automatticians and I went to the 7th CloudFest Hackathon in Rust, Germany to explore a solution for this. We started hacking on a deeply nerdy project, JSON Schema forms and fields, and ended up with a fascinating approach to an age-old question: What if you could register custom post types and custom fields directly in the WordPress admin?

Forty-eight hours turns an idea into reality

The CloudFest Hackathon is an event that allows developers from around the globe to take ideas and turn them into realities.

During the Hackathon, teams of developers from various content management systems and hosting companies come together to contribute to projects that align with the core principles of the event: the projects must be not-for-profit, interoperable, and open source.

Last year, we worked on a project that allowed us to embed WordPress directly in VS Code. We built the WordPress Playground VS Code extension on top of WordPress Playground. It uses WebAssembly to run WordPress entirely within the browser, and it turned out pretty darn slick

This year, we focused on a JSON Schema Field/Form Renderer. While most of us explored using JSON Schema to dynamically register admin forms and fields, Dennis Snell and Adam Zieliński decided to take the project one step further! They hacked together a plugin that introduced the ability to register custom post types and custom fields directly from the WordPress admin. More notably, everything happens within the block editor—you have to see it to believe it:

This work poses some interesting possibilities for custom post type and custom field implementation because it could fundamentally change the way low- to no-code WordPress users modify their sites.

Naturally, I took the idea to Twitter/X:

I got quite a range of responses, ranging from “Heck Yes! It should have already been a core feature now. Such an integral part of every other site” to “Admin should only be for content and user management. Everything else should be configured in code and version controllable.”

So why the range in responses? Let’s discuss.

It turned out to be pretty simple

Dennis and Adam built our prototype using the following conventions:

  • A custom post type wp_data_type holds templates for user-defined data types.
  • The title of a post in the wp_data_type defines the name of the new data type. The post itself is the rendering template and comprises any set of normal blocks. Names are given to select block attributes within the post, and these names are mapped into the data type.
  • When creating new posts for the given data type, the locked template is copied from the wp_data_type template, and the block attribute annotations are preserved.
  • Finally, when rendering the wp_data_type template, the attributes are pulled from the individual post of the given data type and spliced into the template.

The fascinating idea is that we don’t have to think about form fields; blocks already provide a rendering view and a modal editing experience. We can rely on the fundamental way blocks work and use the very same user experience to create custom data types in a way that users are already familiar with when editing a post or a site.

An orange arrow pointing to the Content field in the block settings for a custom post type.
We can provide JSON-LD markup properties to the block editor using our Custom Fields Names block settings.

Custom post types define custom data types, so we use a template to not only define the data type, but also to provide a default rendering template. Each data attribute within a post type has a field where it’s possible to define that field with its JSON-LD property. 

For example, say you had a “Book” custom post type. A few JSON-LD properties you could define using custom fields are:

  • description
  • copyrightYear
  • author
  • bookEdition
  • bookFormat
  • isbn
  • numberOfPages

We also chose to store a copy of each block attribute in the JSON attributes for that block. Since WordPress can now provide a post-to-JSON function, which merges the extracted attributes with the names assigned in the custom post type template, that template may have changed since the custom post was created. This means that no database migrations are necessary to render an updated version of a post.

The best part? The WordPress infrastructure that already exists (aka Gutenberg!) defines the data type. Because these custom posts are normal posts, and because they adopt the locked template for the data type definition, they are, in fact, renderable on their own! Even if the template has been updated and only the post itself is rendered, it will still display a meaningful representation of the data type as it was when it was created.

While our original Hackathon project was tailored towards developers and UX designers who would love to see a forms and fields API in WordPress, this prototype puts more power in the hands of low- to no-code WordPress users.

It also opens up a world of possibilities for providing a rendering view for any structured data. Imagine uploading a CSV and mapping the column names to block attributes, or connecting to a database or JSON API to map the records in the same way. 

For example, if you had a CSV with business names, addresses, a rating, and a description, we could take that template post and insert a map block, a heading block, a star rating block, and a paragraph block and set the attributes to map to the CSV columns. It’s essentially an instant structured data renderer!

But even if we can define custom post types and fields in the editor, should we, as a WordPress community, consider adding it to core?

The existential question: Should it exist?

Adding this kind of functionality into WordPress core could open up a ton of opportunities for the average WordPress user. Instead of needing to get a developer involved to add a custom post type to their site, a user could simply do it themselves and define the necessary fields and structured data attributes. 

On the other hand, allowing everyday users, who may not have a full grasp of how custom post types and structured data should work, free reign to create these data types themselves could have detrimental effects on the user experience of their websites. Clunky or incorrect implementation of structured data markup could also cause issues with how search engines crawl these sites, causing unintended negative impacts to search traffic.

Not only that, but as of right now, if a custom post type is accidentally deleted, all of the content posted to that custom post type will no longer be accessible through the admin (even though it will still be stored in the database). The user could think they “lost” their data.

Let’s talk about it

What do you think? Are you in favor of giving website owners the ability to change and customize their custom post types and attributes? Or are there some website features that should always require a more technical hand and implementer? 

We’d love to chat with you about your thoughts in the comments below.

For another interesting exploration on a related idea, check out this discussion on GitHub with the core team.


Thanks to Lars Gersmann for leading the JSON Schema project with me and to everyone on the Syntax Errors team: Adam Zieliński, Dennis Snell, Julian Haupt, Michael Schmitz, Anja Lang, Thomas Rose, Marko Feldmann, Fabian Genes, Michael Schmitz, Jan Vogt, Lucisu, Maximilian Andre, Marcel Schmitz, and Milana Cap.

Site-Building Made Simple: Introducing the Public Pattern Library 

Posted by download in Software on 10-04-2024

When it comes to website-building, WordPress themes set your site up for success by providing stylish, preselected options for fonts, colors, and layouts. Even though themes provide the overall aesthetic, you still need to build out the posts, pages, and templates on your site. That’s where block patterns come in!

The WordPress.com Pattern Library is your new go-to resource for finding any kind of pattern for your beautiful WordPress website. With hundreds of pre-built patterns to choose from across over a dozen categories, you’ll be covered no matter your website’s specific needs. 

What are patterns?

Block patterns are collections of blocks made to work seamlessly with our modern themes. Need an “About” page? Check. A gallery? Check. A testimonial? Check. How about a newsletter? Check. We have just about anything you’ll need. 

Best of all: for each pattern, the fonts, colors, and spacing will adapt to your theme’s settings, making for a cohesive look. Still, patterns aren’t locked or static either—after you’ve added the pattern to your post, page, or template, you can tweak it however you like. 

A tour of the Pattern Library 

This new public Pattern Library allows you to browse, preview, and easily share or implement whichever design speaks your tastes. Let’s take a look around. 

Browse all categories 

A screenshot of the "Categories" section on the WordPress.com Pattern Library.

If you want to explore the Pattern Library and don’t have anything in particular that you’re looking for, click through each category to spark some ideas. 

Search for what you need 

At the top, you’ll find a fast and easy-to-use search box, allowing you to find exactly what you need. This is a great option if you don’t feel like browsing and want to jump right into a solution for your specific needs. 

Explore page layouts 

Sometimes you just need the components of a post, page, or template: a header, a “Subscribe” box, a store module, etc. Other times, you want to be able to copy and paste an entire page into existence. Scroll down past the categories and you’ll find our full-page patterns for whole pages: About, Blog, Contact, Store, and more. 

Test the mobile responsiveness for each pattern

When looking through the library on a desktop or laptop device, you’ll see a gray vertical bar next to each pattern. That’s a nifty little slider that we’ve built into the library which allows you to see how each pattern responds to different screen sizes. Using your cursor to move the bar to the left, you’ll see what that design looks like on a mobile device; in the middle is where most tablets fall; and scroll back all the way to the right for the desktop/laptop version. 

Copy and paste to your website 

Like what you see? Simply click the blue “Copy pattern” button, open the WordPress.com editor to the post, page, or template you’re working on, and paste the design. It’s that easy. Once inserted, you can customize each block as needed using the right sidebar. 

Your new favorite page-building tool

The Pattern Library is especially useful if you build websites for clients. Each pattern is built to work with any theme that follows our technical standards, speeding up page-building not just for you but also for your clients—all while maintaining the overall style of your theme. 

In concrete terms, this means that our patterns take font, color, and spacing settings from the theme itself rather than using standard presets. This makes it far less likely for a site to break (or just look off) when you—or a client—experiment and make updates. 

Our goal is always to make your life both easier and more beautiful. This new resource does just that. Check out the WordPress.com Pattern Library today to enhance your website-building experience! 

WordPress 6.5.2 Maintenance and Security Release

Posted by download in Software on 10-04-2024

Note: Due to an issue with the initial package, WordPress 6.5.1 was not released. 6.5.2 is the first minor release for WordPress 6.5.

This security and maintenance release features 2 bug fixes on Core, 12 bug fixes for the Block Editor, and 1 security fix.

Because this is a security release, it is recommended that you update your sites immediately. Backports are also available for other major WordPress releases, 6.1 and later.

You can download WordPress 6.5.2 from WordPress.org, or visit your WordPress Dashboard, click “Updates”, and then click “Update Now”. If you have sites that support automatic background updates, the update process will begin automatically.

WordPress 6.5.2 is a short-cycle release. The next major release will be version 6.6 and is currently planned for 16 July 2024.

Security updates included in this release

The security team would like to thank the following people for responsibly reporting vulnerabilities, and allowing them to be fixed in this release:

  • A cross-site scripting (XSS) vulnerability affecting the Avatar block type; reported by John Blackbourn of the WordPress security team. Many thanks to Mat Rollings for assisting with the research.

Thank you to these WordPress contributors

This release was led by John Blackbourn, Isabel Brison, and Aaron Jorbin.

WordPress 6.5.2 would not have been possible without the contributions of the following people. Their asynchronous coordination to deliver maintenance and security fixes into a stable release is a testament to the power and capability of the WordPress community.

Aaron Jorbin, Aki Hamano, Andrei Draganescu, Artemio Morales, Caleb Burks, colind, Daniel Richards, Dominik Schilling, Fabian Kägy, George Mamadashvili, Greg Ziółkowski, Isabel Brison, Jb Audras, Joe McGill, John Blackbourn, Jonathan Desrosiers, Lovekesh Kumar, Matias Benedetto, Mukesh Panchal, Pascal Birchler, Peter Wilson, Sean Fisher, Sergey Biryukov, Scott Reilly

How to contribute

To get involved in WordPress core development, head over to Trac, pick a ticket, and join the conversation in the #core channel. Need help? Check out the Core Contributor Handbook.

Thanks to John Blackbourn, Ehtisham S., Jb Audras, and Angela Jin for proofreading.

10 WordPress Influencers to Follow in 2024  

Posted by download in Software on 09-04-2024

In this “Build and Beyond” video, Jamie Marsland highlights 10 WordPressers to keep an eye on in 2024. 

A couple of weeks ago, we shared a list of 15 WordPress developers you should follow to stay on top of WordPress development news and tips. This video broadens the scope and features folks worth following, regardless of your role or experience with WordPress. If you’re at all interested in or curious about WordPress, these are folks to pay attention to.

Interested in a free trial that allows you to test our all that WordPress.com has to offer? Click below:

Remkus de Vries

Remkus is a well-known figure in the WordPress community, recognized for his contributions to WordPress development and his overall expertise in web technology.

Website | YouTube

Kevin Geary

Kevin helps digital agency owners, freelancers, and web designers to learn best practices for UX/UI design, development, and CSS.

Website | YouTube

Tyler Moore

Tyler has free video lessons on YouTube that teach people how to create their own professional website without any coding experience.

Website | YouTube

Sabrina Zeidan

Sabrina is a WordPress performance engineer, who’s daily work is to speed up WordPress websites, plugins, and themes.

YouTube

Mike McAlister

Mike is a designer and principal software engineer from the USA. He builds killer products and brands that people love, including the fantastic Ollie WordPress theme.

Website | X (Twitter)

Jonathan Jernigan

Jonathan runs a small web development agency, creates courses, and makes YouTube videos. He started is WordPress-focused YouTube channel in late 2018.

Website | YouTube

Birgit Pauli-Haack

Birgit works as developer advocate for WordPress, curates community voices on Gutenberg Times, and co-hosts the Gutenberg Changelog podcast.

Website | X (Twitter)

David McCan

For the past 20 years David has worked professionally developing websites and in IT management.

Website | Facebook

Paul Charlton

Paul has over 15 years of commercial web design and development experience working on a large range of diverse projects, with clients ranging from start-ups to blue-chip companies.

Website | YouTube

Matt Medeiros

The WP Minute, founded by Matt, is a website dedicated to delivering the most important news and topics from the WordPress ecosystem, keeping WordPress professionals informed, educated, and entertained.

Website | Podcast

Imran Sadiq

Imran has 17+ years of web design and marketing experience. His YouTube channel has over 55k YouTube subscribers.

Website | YouTube

Rich Tabor

Rich describes himself as a multidisciplinary maker specializing in the intersection of product, design, and engineering.

Website | X (Twitter)

Jamie Marsland

Jamie has trained over 5,000 people on WordPress in the past 10 years, and he also makes WordPress plugins. His YouTube channel is dedicated to helping people with WordPress Blocks.

Website | YouTube

Streamlining Your Content Creation: Adding Images From Your Phone With Ease

Posted by download in Software on 04-04-2024

The internet is rife with small annoyances, which often lead to breakthroughs in user experience. For example, needing to hit “refresh” or “next page” led to infinite scroll, which is now baked into our media consumption habits. 

Today, we’re excited to share a new feature in the desktop editor and Jetpack mobile app that eliminates one of those small annoyances and makes it a breeze to upload media to your WordPress posts and pages.   

While working in the editor on your laptop or desktop device, you can now seamlessly add photos directly from your phone. 

Here’s how to do it: 

  1. Insert an “Image” or “Gallery” Block on your post/page. 
  2. Click “Select Image”: From the dropdown menu, select “Your Phone.”
  1. Use your phone to scan the QR code: This will automatically open the Jetpack app and then your photo library. 
  2. Choose your image(s): From there, simply click the image or images you wish to add to your post/page.
  3. Click “Add”: Watch your image(s) automagically appear in your desktop editor.

Check it out in action below:

We hope this will inspire you to snap even more photos and share them with the world. 

WP Briefing: Episode 76: A WordPress 6.5 Sneak Peek

Posted by download in Software on 02-04-2024

Join WordPress Executive Director, Josepha Haden Chomphosy, as she offers an exclusive preview of the upcoming WordPress 6.5 release, accompanied by special guest Dave Smith, one of the Editor Tech leads for this release. Don’t miss this opportunity for an insider’s look!

Credits

Host: Josepha Haden Chomphosy
Guest: Dave Smith
Editor: Dustin Hartzler
Logo: Javier Arce
Production: Brett McSherry and Nicholas Garofalo
Song: Fearless First by Kevin MacLeod

Show Notes

Transcript

[00:00:00] Josepha: Hello, everyone, and welcome to the WordPress Briefing, the podcast where you can catch quick explanations of the ideas behind the WordPress open source project, some insight into the community that supports it, and get a small list of big things coming up in the next two weeks.

I’m your host, Josepha Haden Chomphosy. Here we go! 

[00:00:28] (Intro Music) 

[00:00:39] Josepha: Dave, I’m so excited to have you here with us today. Welcome.

[00:00:42] Dave: Thank you. I’m really excited to be here. Thank you so much for inviting me on.

[00:00:46] Josepha: Yeah. So before we get much further, how about you tell us a little bit about what you do on the WordPress project? And if I recall correctly, that you have a role on the release squad. So just let us know a bit about what that role is and what that looks like.

[00:01:00] Dave: Sure. Absolutely. Well, obviously said I’m Dave Smith. I’m from England in the United Kingdom, and I am full-time contributor to WordPress. I’ve focused primarily on the Block Editor during that time. And I’ve been doing it for about three years now. And fortunately for me, I am sponsored by Automattic, so that allows me to contribute full-time to the project, which is fantastic.

But my history of WordPress goes back a fair way longer than that, and I used to work in agency land, and so I used WordPress for making things for a living before I worked in WordPress if you see what I mean. 

[00:01:35] Josepha: I, no, I definitely understand. I also was agency before WordPress. 

[00:01:40] Dave: I think it’s a common origin story, if you see what I mean. And yes, you’re absolutely right. I’ve been fortunate enough in this release, WordPress 6.5, to be the Co-editor Tech Lead. Obviously alongside my colleague which is Riad Benguella. Some of you may know him. He is the lead architect of Gutenberg. So yeah, it’s been fantastic to work alongside him.

[00:02:00] Josepha: Yeah, excellent. One of these days, I’m going to get Riad on here. I think I’ve never had him on.

[00:02:05] Dave: Oh, you should definitely. 

[00:02:06] Josepha: He’s so kind and reasonable. And I was just gonna tell a personal anecdote about Riad, and I don’t know that it makes any sense, but I’m gonna do it anyway. I’m gonna do it anyway. I saw him at an event like right after he came back from his most recent sabbatical, and he was like, it was great being away, but also like, I had forgotten what kind of energy events like this really bring in.

And he has always struck me as an introvert, but I think maybe he’s like an outgoing introvert or something. Cause normally, like, introvert introverts are not like, this gives me so much energy. They’re like, I know that this is important work, and I’m here. And so that’s my personal anecdote about Riad, I am, gonna get him on here someday, but be that as it may, we’re delighted to have you.

So, 6.5 is coming out are you excited, number one?

[00:02:54] Dave: I am very excited. Yeah, it’s been a long road into this release. As you may know, well, as you do know, it’s, it was delayed by one week. That was actually, I think was, was a good decision. We’ve had a lot of work needing to go into the Font Library feature. I’ve seen a few posts saying there were bugs.

[00:03:09] Dave: I think mainly it was a decision about where to upload fonts to, which seems quite amazing when you think about it. I was talking to my wife about it the other day, and she said, really, you’re delaying a release because of where to upload things. But, yeah, this is software that runs a considerable part of the web.

So when we make these decisions about where things uploaded, we’ve got to be really confident that they are the right decisions. And so, yeah, that decision to delay the release has been good. And we’ve had an opportunity to make sure the release is fully robust and ready to go out. So yeah, I’m super excited to see it land.

[00:03:40] Josepha: Yeah. I have some follow up questions about just like, how doing all of that work in public feels. But probably, we should get through the bulk of the sorts of things that people tune into this episode for, so like, let’s talk about some of the big features that are going into 6.5 so that folks have a sense for that.

And then we’ll take a look at just like things that you’re excited to get in, things that I’m excited to get in. And maybe like if there’s a hidden surprise for users, things that will be really beneficial to users, but they don’t quite see it yet. We can maybe cover that too, but like, what are the big things going into this release from your perspective?

[00:04:17] Dave: Sure. There’s some highlights, I think that the key highlights, and we should probably cover them. So the first one we’ve already touched on it is the Fonts Library. And this has been brewing for a while now, and it’s finally come to fruition. And it basically allows you to manage, install, and upload custom fonts for use on your website. And it’s really, really powerful. It’s, I think it’s going to really change the way people create themes and create their websites. It is unlocking a lot of power for users.

[00:04:46] Josepha: And for folks who’ve been listening to this podcast for a long time, you have heard me say for, I think, like a year, basically every release podcast where we’re looking at what’s coming up. I’m like, and this time it’s fonts. I’m so excited. And so I’m saying it again this time, ’cause it’s really happening this time.

[00:05:03] Dave: It’s finally here. Yeah, it’s a great feature. There’s a lot of work gone into it. It’s really, really good.

[00:05:07] Josepha: So much work. We’ve been working on it for like two or three years. And it’s at the point where like getting it out in front of people is the only way to figure out where the remaining problems will be. And it is the most scary part of any software release, I assume, the things where you’re like, this is time for people to tell us how it’s broken. Please look at it and break it for a while.

[00:05:29] Dave: Yeah, absolutely. We’ve been working on resolving any bugs that we could find, but there’s always going to be things we haven’t noticed. So yeah, we can’t wait for users to get their hands on it. Exactly. Other than fonts, we’ve also got revisions that are now in place in the Site Editor. And this is more than just undo, redo that people may be already familiar with in the editor.

It actually gives you the ability to fully revert your site back to any state that you previously had it. So you could make some changes in the editor. You could completely close down your computer, go away for a week, come back. And you’ve still got the opportunity to say, “Ah, do you know what? I don’t like the way that looks. I’m just gonna; I’m gonna roll that back.” And there’s a nice UI that shows you what it will affect. And you can even roll back styles, you know, like style changes. So it’s, it’s super, super powerful. And it’s just something we’ve been waiting for for such a long time. Just, it’s fantastic to see it land.

[00:06:17] Josepha: I’m really excited about this one personally because I have been to so many meetup events with like new users being taught how to do things with WordPress. And invariably, in the last two or three years, the people who are presenting to new users are saying consistently like, “You can do any experimental thing that you feel like you need to do with your sites because there’s an undo button. WordPress wouldn’t let you do things that fully break your site.”

Like there is a lot of trust in our kind of like time machine, roll-it-back kind of implementations. And so I’m really excited about this one. I think that for all of our new and mid-level users. Who like, have a little bit of fear, but mostly joy around it. Like, this will only increase that and so I’m super excited for this one to go in there.

[00:07:09] Dave: Yeah, it’s really nice. Other than that, the two things I wanted to touch on as well, which is we’ve got these new views now for key objects in WordPress. So things like pages, patterns, templates, and template parts in the Site Editor. You can now view these in a sort of a table layout or in a grid layout. So it gives you a much easier way to sort them, find them, filter them. And I think it points us forward to the possibilities we’ve got in the future for the editor sort of taking some parts of WP Admin and making them more accessible without having to leave the Site Editor. And it’s extremely powerful; you can search in real-time, find things very, very quickly, do all the things you’re used to from the post listing screen, but all within the Site Editor. And it’s for these key objects that you use quite a lot of the time. So I think it’s going to be really, a really great thing for users to get hold of.

[00:07:55] Josepha: Is this related to the Data Views work that we’ve been doing in the first part of the year here?

[00:08:00] Dave: Exactly that exactly. The Data Views work has been a major feed into this, and this is where we see the fruits of all that work coming to the fore for the first time. And I expect to see more of that in future releases as well.

[00:08:12] Josepha: Yeah. For folks who are really, really watching, like, our administrative side of things, you probably are aware that we, I don’t know, I wouldn’t say that we paused the phase three roadmap for this, but I do think that we made a clear choice to get this Data Views work done first so that we could, in parallel with phase three, do a bit of work on the WP Admin redesign, the dashboard redesign, which we all know, like, we love this dashboard, but also this dashboard, it needs a sprucing up, it needs a little bit of, of polish and a little bit of 2024 style I was going to say design. I don’t know if the design folks would love if I just was like, it needs to be modernized that way, but also like it, it does, right?

[00:09:00] Dave: Yeah, and I mean, you know, we all know that the Site Editor is being used more and more. If you’ve got a Block theme, you’re using the Site Editor increasingly, and you’re spending less and less time sort of going between screens in WP Admin. So it makes sense that, you know, these things are accessible within that one interface of the Site Editor. So, yeah, it’s only going to be a good thing for users going forward.

[00:09:20] Josepha: Yeah, absolutely. I probably should have like a whole episode about Data Views and what it’s intending to do, what it’s actually doing, what it’s going to look like as it goes because that’s such a big project. And so many things rely on it. And so, note to self and all listeners, that’s the thing that you should keep an eye out for. We’re going to get it done. But you said you had a final thing also.

[00:09:40] Dave: Yeah, I’ve got one more which is this is for our users of classic themes. We haven’t forgotten about you. Basically, we now have support for appearance tools. So in prior releases, the Block themes have got these really cool design tools like ability to set border colors, border radius, link colors, you name it. We’ve got all these tools, but they haven’t been always available to classic themes. And classic themes can use the Block Editor; they may not be using the Site Editor in the same way, but they can use the Block Editor. And we’ve not made those things available in the same way, but there’s been work going into this release to allow that to happen.

[00:10:11] Dave: So now you can opt into those if you so wish. And it is an opt-in basis. So none your themes will break out of the box if you’ve got classic theme or classic site. But it is a powerful tool to those people who are using classic themes, and that’s completely legitimate.

[00:10:26] Josepha: And so is the opt in like something that you can do for yourself or something that your developer needs to do?

[00:10:32] Dave: You would need to do it in your theme code. So you’d need to do that with PHP. So, your theme developer, if they choose to update their theme and provide support for these things. Then, they would obviously need to test their theme works with those new tools, make sure it’s ready, and then they would ship that update.

And so maybe after 6.5 is released, you may see some themes incrementally adding support. My understanding at the moment is that the core themes, the Block themes, will not automatically add those straight away. I think they need more time to allow them to bed in and more time to get them ready for prime time if you see what I mean, but you know the fact that they’re there and ready means that the wider theme audience and theme developers can start taking advantage of them.

[00:11:15] Josepha: Nice, nice. I have been wondering lately, this is only marginally related, but I’m gonna wonder it out loud anyway. I’ve been wondering lately if like, our classic themes, our most favorite, our most loved classic themes do need a little bit of help moving into a Block theme future. And I think that this will help. I think, on the one hand this will help, and on the other hand, like, what would it take for us to just say, and you’re not the theme person I know, but like, what would it take for us to just say, “These are our top five most favorite, most used, classic themes that we’ve got in WordPress. Let’s rebuild it in blocks and just ship the block version of it and help the classic themes users that love the design, love the look, love the features get introduced to this new block territory so that they can see that not only do they have the look, the feel, the features, but also the flexibility that comes with that and a little bit more feeling of safety as they wander around modifying themes.”

[00:12:18] Josepha: I have no fear of any code changes and didn’t when I started working with WordPress, as opposed to working in WordPress, but I think that that’s not the way that that works right now. Like there’s a whole lot of like, I need to get it right-ish with folks who are using our software. And so I just wonder if that will help everybody feel a little more confident in what they’re doing, knowing they’re not going to break things because we’ve built it so you can’t.

[00:12:45] Dave: It could do, it could do. And I was just thinking as you were talking, like, do we have any themes that already do that? And, of course, we do have 2021. If you can think back that far into the mists of time, we had 2021 classic, which is that it’s called 2021, but we also 2021 blocks, which is doing very much what you’ve just described.

[00:13:03] Dave: So we haven’t pursued that for the new default themes or block themes, but, you know, it might be something to look at for onboarding if there are any of classic themes from the more distant past, you know, maybe some of those could do with a block theme equivalent just to let people on board to that experience and just feel comfortable. Yeah, interesting, interesting. You should definitely talk to the theme people about that.

[00:13:23] Josepha: I’m going to. They’re going to love it. They’re going to be like, Yay! Of course! Of course! I don’t know, actually. I don’t know if anyone ever loves the things that I suggest, but that doesn’t mean that they’re not going to get suggested. I have all these ideas, and they got to come out somewhere. Okay. So do you have something that you worked on that’s not in this big list of features or that you helped people to really shepherd into the release that you think is really cool? Like, maybe it’s not going to be super visible or something, but like that you’ve personally felt was like a cool feature, excited for it to get into the release.

[00:13:53] Dave: Yeah, there are a couple of things, a couple of things at the top of mind. One of them is user-facing and one of them is more developer-facing features. So, I’ll start with the developer feature first. And this one is a change to an API. Now, that API is always a slightly intimidating word, I think, but it just means a set of tools, a standardized set of tools that developers can use to do something. And in this case, it’s the allowed blocks API. 

[00:14:20] Josepha: Sounds so fun. 

[00:14:21] Dave: Yeah, I know it’s riveting, isn’t it? But trust me, it does come with some benefits. So the Navigation block is a good example. It’s a block that acts as a container and it’s got child blocks. Okay. But you can only insert certain blocks. You can insert links, you can insert social icons, you can insert search. But if you want to insert, I don’t know, an Icon block, for example. You can’t do that, but you can with WordPress 6.5 because of the change to the allow box API. And what it allows you to do is say, “I want to additionally allow the following blocks to be inserted as well.”

So as a developer, you can hook into this filter and change those blocks. Now, okay, so far, so good. “What’s the big deal?” you might say, well, it’s open the door, is open the door to some very, very interesting explorations. Some of which I’ve no doubt that you and your listeners would have already encountered. And one is by a colleague of mine called Nick Diego. And I think it’s on the WordPress Developer blog right now. I think he’s done a fantastic inspiration into mega menus in the navigation block. I’m someone who’s worked on the Navigation block extensively in the past, and I’m very aware of how much users want mega menus to be a part of the Navigation block.

[00:15:30] Dave: I was never convinced it was going to be something we were going to do in core, because it requires so many different things. But Nick has actually managed with this allow blocks API and some other tweaks as well to build a mega menu as a plugin for WordPress using the standard Navigation block.

And I think that’s just one example of the utility of this API. But for example, I mentioned that you could add icons to your Navigation block and you can’t really do that at the moment. It’s pretty powerful. It’s kind of hidden away. It’s in the release notes, but it’s not massively clear, but it does open some pretty big doors. And I think if you’re a developer or a theme author, indeed, you should you should definitely be looking into that and see what it enables for you.

[00:16:06] Josepha: Yeah, we’ll put a link to Nick’s post in the show notes, and we’ll share it around the social spaces. So like, I hear you saying it’s buried, it’s hard to see, it won’t necessarily be exciting now, but will be exciting later, but like mega menus and sliders, those are the most contested things that people want to put on sites all the time. Like from my agency days, like when I was thinking in the mindset of a strategist, a data person, that’s what I was doing. Like, I never wanted sliders. I never wanted mega menus because it just implied that we didn’t have a decision about the sites we were making, like we had not decided the primary purpose, and also it was just hard to track, but it was always literally every single time people are like well if Amazon has it why can’t we have it? You’re like, yeah, I know, but they’re Amazon. They’re not the same like mega menus sliders. I know that from a project perspective that we’re like, that should be a theme thing. That should be in theme territory. But I think it makes sense to have in core because so many people want to be able to do it.

[00:17:14] Josepha: And just because like someone like me feels like it’s not the right call for your business doesn’t mean that you shouldn’t be able to make that decision for yourself, you know, I think that’s a, I think that’s a great, a great feature to call out.

[00:17:28] Dave: Yeah, absolutely. I completely agree. I can look for my agency days. I can exactly imagine that sort of thing. We have a lot of people, a problem that a lot of people are facing. So it’s really important that we provide the tools to allow people to do that now. And we can always look at if it’s valid to include it in core later, then we can look at that as well.

Yeah. So that’s, that’s the first one I had. The second one is a little bit more user-facing. I would say it’s hidden away. But I’m not 100 percent sure it is. I mean, Josepha, how often do you create links when you’re working with WordPress?

[00:17:58] Josepha: Like every time that I’m in WordPress.

[00:18:00] Dave: Yeah, exactly. Same here. I do it all the time, right? And a lot of people do. And for a long while, contributors to the editor have been sort of collecting and collating the feedback that’s come in from people about their frustrations with the built in link interface in the Block Editor. So if you’re creating a hyperlink to, you know, hyperlink to another page or, you know, you’re going to link to Nick’s mega menu article, you’re going to be doing that a lot, right?

That’s something that people do when they’re creating content in WordPress. And so we worked a lot to refine that with a contributor who, who you may know, Rich Tabor. Who’s also, I think, on the release squad as well. An influencer in the WordPress space as well. He spent a lot of time looking at the UX and myself and a number of other contributors have spent a lot of time in this release refining that. And I think it’s surprisingly difficult to get right, but I think we’ve, I think we’ve made some nice improvements to that will be nice quality of life for people who, to do this sort of content creation quite a lot.

So there’s things like now when you create the link for the first time, it remains open on the initial creation of the link. So that means you can quickly then easily adjust the link. I mean, it seems obvious, doesn’t it? Yeah, but it’s not happening. It just used to just automatically close, and the people are like, “Hey, I wanted to make more adjustments. “

[00:19:08] Josepha: I wasn’t done yet. 

[00:19:10] Dave: Exactly. Yeah, exactly. We’ve, we’ve streamlined the UI. We’ve removed a lot of clutter, but we’ve also added some useful tools, like ability to copy a link and remove the link directly from the control itself. And lastly along with lots of other accessibility changes in this release. We have worked a lot on refining the implementation.

So that is discoverable for, for users of assistive tech because we spent a lot of time talking to core accessibility team and other people, and they were finding it very hard to perceive that the UI was there because of the way that keyboard interactions work and you’ve got the block toolbar in the way and things like that.

We think we’ve nailed on a really good solution now that works for, not only uses assistive tech, but actually provides benefits for sighted users as well. It’s kind of difficult to talk about. I mean, I have got a video covering this on my YouTube channel, which kind of shows it in a bit more detail, but we’re happy it’s in a much better place.

[00:20:02] Dave: And yeah if people have got feedback about it, and when, when 6.5 comes out, we’re always happy to hear that. And you can go to the WordPress GitHub repository and raise an issue. And one of us will jump on it and see what we can do.

[00:20:13] Josepha: And we can include a link to that video also. So like, for folks where this sounded intriguing, but they don’t quite get the concept, like video content all day, let’s pop it into our show notes. And everybody can take a look at it there. I think that’s a great idea.

[00:20:28] Dave: Great. Yeah, I appreciate that.

[00:20:30] Josepha: So final question, maybe, maybe final question, final planned question. Is there anything from a user-facing perspective again that you feel has not really gotten the airtime that it needs so far? 

[00:20:44] Dave: I think there’s a lot of technical changes that have happened in this release. So it’s easy to look at those. I mean, we’ve covered quite a lot of the key ones that will be user-facing in terms of Font Library and Revisions. We’ve got things that are going to this release that enable things a lot for people to experience in the future, I think, so underlying changes like the Interactivity API becoming public. Now that’s public, plugin developers can start to make sites much more interactive on the front of the site rather than just in the editor. So I think that once 6.5 has gone in, and people have started to explore the Interactivity API in more detail, we might see more plugins offering sort of interactivity on the fronts of their sites. An example is obviously the lightbox you’ve got with images in core, but I can; there’s way more stuff that you can do with that. So we’re going to see more of that. 

[00:21:28] Dave: We’ve got Block Hooks that have landed in 6.5, and this is going to open for things like ecommerce plugins and to be able to add, you know, cart blocks or log in, log out blocks to things like navigation, for example, or you might want a ability to like all your comments, and you can do that with Block Hooks and then a plugin developer can just, you know, when the plugin is enabled, they can just make it so that those things just appear on your site, but you still got control over the design.

So there’s a lot of like hidden things I think are going to uncover new features for users over time as a result of the community getting involved and changing their plugins and themes to do these take advantage of these new tools. 

[00:22:07] Josepha: Yeah, so the Interactivity API, obviously it has “API” on it. And so no one’s thinking, well, this is a user-facing thing. And while the API is not a user facing thing, like, I think that you’re right. That what it enables absolutely is going to be really useful and hopefully really engaging for like end-to-end users, like the users that are not listening to this podcast and they don’t know we exist, like they don’t know that WordPress has a community building it, they’re just like, it exists, there’s a software that came out of nowhere, like, I’m really excited to see how our developers in the community start to use that in their plugins and themes and get that out to end users. I’m really, really excited to see how creative they get with it.

Did you have a final thing?

[00:22:51] Dave: There’s a lot of design changes, I think. I mean, we can’t cover them all, obviously, in verbal form in this podcast, but some things that are just standing out to me if we look at the source of truth for, for WordPress 6.5, it is, it is big. There’s a lot in this release. But there’s some very cool things for, I don’t know, quality. I like to see them as like quality of life design design changes. Things like, if you drop an image, as a background image of a cover block, it automatically sets the overlay color for that cover block to match the most prominent color of the background image. Like things like that, they seem small, but over time, they just, you just drop that thing, and it just does it. And it’s like, this is nice. And it feels like a nice tool to use that just is intuitive. And I think there’s, we’ll see a lot of those things landing in this release that can just make the experience of working with WordPress and working in the Site Editor much, much nicer.

[00:23:41] Josepha: Yeah. I remember when I first ran into that particular thing, it was on the Showcase, our most recent redesign of it. We’re using that functionality in there before it was available in core. Obviously, I know, but it was really fascinating. I’m not great with color combinations. Like, I don’t have a sense for, like, oh, that’s the primary thing. That’s not. And so having that being done kind of automatically so that my stuff looks good anyway, despite what my color sense said to do or not. I thought it was great. Makes you look good as somebody who’s running a business. You don’t have to know how things work in order to have excellently functional, really beautiful things.

[00:24:21] Josepha: And I think that’s a great thing about all of our releases. Obviously, everything is supposed to work that way, but like this one has a lot of really cool things like that available. I think those are really the questions that I had. Is there anything you want to make sure to share before we kind of give last thoughts and head out?

[00:24:39] Dave: Yeah, I was, I was thinking a lot about, you know, the community we’ve got with WordPress, and I think that people outside of WordPress may not really understand that how amazing this community is that we’ve got here, but I wanted to say to people like don’t shy away from contributing to WordPress. I get that, you know, people like myself are fortunate enough to be sponsored to do it. But there’s always something that people can do, even if that’s just spending like 30 minutes testing a release or donating some of your time to run one of the meetings. It can really make a difference overall. Even just filing a bug report for something you see in WordPress 6.5 or testing 6.5 before it goes out, those little things do make a big difference. And if you’re not sure where to go, then we can signpost you with links, no doubt in this, in the podcast description with where where’s to go. But yeah, I just want to encourage people to get involved, basically.

[00:25:27] Josepha: Yeah. And it’s all working out in public, like we’ve got developers, designers, marketing folks, community folks like all doing this work out where everybody can see it. And so that, I know, can look really kind of overwhelming. But I want to just highlight, like, you don’t have to know everything about what’s happening in the project in order to get involved in the project. Like every small bit of contribution toward like finding a new bug or confirming that a bug happens across other devices, other setups, things like that, like those all help make things better and keep things moving as quickly as we are able to make them move. And so, yeah, I’ll second that every little thing that you think like that won’t make a difference. It does. We can’t tell that things are broken or things are working or things are in need of some care unless you highlight those for us. And this is the best way to do it is to show up and give 30 minutes to send out a group testing invite to your meetup group or whatever it is that you all have been thinking you should do, like, this is your sign. You can do it.

[00:26:34] Dave: Everyone should get involved if they can.

[00:26:37] Josepha: I agree. I agree. Dave, this has been such an excellent conversation. Thank you so much for joining me today.

[00:26:42] Dave: Oh, thank you very much. It’s a pleasure.

[00:26:43] (Music interlude) 

[00:26:49] Josepha: What an interesting release we’ve got coming out this week. I’m so glad you all made it this far in the pod, and now it’s time for our small list of big things.

[00:27:00] Josepha: First up, following up on the WordPress meetup reactivation project that we had in 2022, we aim to revive some meetup groups in big cities that are inactive or help the local WordPress community that are not yet part of our meetup chapter program to join our program. There is a post out on the community P2 on the community site. That is titled Asia Meetup Revival Project 2024. I’ll leave a link to that in the show notes if you want to read more about that and figure out how to get involved.

And speaking of getting involved, we have roughly a million meetings. Because it’s a new month, we’re in April now. New month, new opportunities. There are a lot of things happening in April. We will be coming out of a major release, obviously, and so there will be some minor release follow up to do. There will be a lot of discussion about what’s coming next, what’s in trunk, what’s not in trunk. But also a lot of work being done around our next big major events, our next big major training initiatives. There’s just so much happening. Spring is a time when we are looking at stuff that’s new, what we want to invest in, what we want to grow. And so if you have not attended one in a while or even at all if you’ve never attended a meeting in the community, then this is a great time to start and join your fellow community members trying to make WordPress better every day.

[00:28:23] Josepha: And then the final thing on our small list of big things is I am looking at helping to shift the focus of our WordPress marketing community. We’ve had a bit of a struggle over the years to figure out what our primary focus and our primary impact can be. So there’s a post up called ‘Making a WordPress Media Corps’. It’s gotten quite a bit of attention, and I do really think that it has a lot of potential for solving some of the issues that we have and kind of getting some quick wins into our recent history of that team so that we can move forward confidently together. So pop on over, give it a read, share your thoughts. And if you are one of these qualified media partners, also let us know. 

[00:29:08] Josepha: That, my friends, is your small list of big things.

Don’t forget to follow us on your favorite podcast app or subscribe directly on WordPress.org/news. You’ll get a friendly reminder whenever there’s a new episode. And if you liked what you heard today, share it with a fellow WordPresser, or if you had questions about what you heard, you can share those with me at WPBriefing@WordPress.org. I’m your host, Josepha Haden Chomphosy. Thank you for tuning in today for the WordPress Briefing, and I’ll see you again in a couple of weeks.