Over the past year a group of WordPress contributors have been working on making it easier for developers to build interactive blocks. These are the kinds of experiences that allow visitors to submit a form and get feedback without reloading the page, load paginated content without refreshing, and improve e-commerce stores with more dynamic responses based on visitor interaction.
A new proposal for an Interactivity API aims to provide a standard way for developers to add interactivity to the frontend, making it faster to build these experiences without reinventing the wheel every time.
Automattic-sponsored core contributor Mario Santos cast the vision for what the new API will deliver:
What if effortlessly creating performant, fluid, and idiomatic frontend interactivity on block-based WordPress sites was possible? Imagine plugins providing interactions like “heart this post†or “add to cart†without page reloads. Picture instant search, commenting, and native full-page transitions as best-in-class built-ins without complex scaffolding or external tools. Envision achieving this in any block theme by default without sacrificing PHP server rendering and the plugin ecosystem for a JS runtime. Visualize block developers easily declaring and extending such behaviors in a way that is immediately familiar and compatible with the block ecosystem.
Santos published a demo video accompanied by a live interactive demo where visitors can favorite movies and have the favorite count instantly updated in the block in the header. Pagination and search update the content without refreshing the page. The code for the demo is available on GitHub.
The Interactivity API is being created for use on the frontend of block-based websites but contributors may also explore the possibility of reusing some of its directives inside the editor. They are taking a similar approach to Alpine.js with “directives” that extend HTML with special attributes, except designed specifically for WordPress and backwards compatible with its APIs.
“The API is designed for the world of blocks and takes WordPress history of being closely attached to web standards to heart,” Santos said.
“As directives are added to the HTML, they work great with dynamic blocks and PHP.”
Having a standard in place means that WordPress developers don’t have to roll their own solutions for things like tooling, inter-block communication, and frontend performance. They would be primarily responsible for the block logic, making creating interactive blocks easier and more approachable for less experienced developers.
Contributors on the project have selected Preact to build the directives system due to its HTML-friendliness, small size, performance, extensibility, and compatibility with React.
The Interactivity API is currently in the stage of gathering feedback to incorporate in development as well as expanding technical documentation.
“Although it is now distributed as a plugin, it aims to be added as an experimental feature to Gutenberg,” Santos said. “The goal is to include it in Core once enough feedback has been gathered, and it’s clear that it’s the right direction.”
Initial reactions to the proposed API have been mostly positive, as developers have previously had to build their own solutions for interactivity in the absence of a standard.
“The Interactivity API is one of the most interesting proposals for WordPress frontend UX & DX that I’ve seen in awhile,” WordPress Core contributor Weston Ruter said.
“As someone who has been experimenting a lot with using AlpineJS, HTMX, Unpoly, StimulusJS, etc. for interactivity on the frontend, having a blessed solution in WP core would be most welcome,” another developer (@r1ckd33zy) commented.
WordPress developer and WPGraphQL contributor David Levine seemed less enthused about the approach outlined in the proposal. “Great idea but shortsighted execution,” Levine said. “We need an actual block data layer, not to further pollute our markup for our scripts to parse. This just exacerbates the same problems that got us into this mess.”
A few others in the comments of the post have been critical of the approach and others have questions about long term challenges of maintaining this approach.
“This is a pretty out-there which is quite a different approach to anything I’ve seen before,” WordPress core contributor Joe Hoyle said. “That does give me caution, as it’s very wp specific / centric. I think with the block editor there’s opportunity to align more with industry innovation around front-end tooling. I think it’s really great work and very creative; but again I’m not yet sure it’s the right direction. It could be that there’s no long term solution to bring an ‘nextjs’-ification to WordPress, but I’m not sure I’m looking at it.”
The proposal includes examples of how to create interactive blocks using the API and developers have opened a lively discussion on the approach. Contributors on the Interactivity API are planning to host two sessions on April 17, 2023 (one at 08:00UTC and another at 17:00UTC) that will include a live product demo followed by a Q&A. Check out the proposal for more details and the Interactivity API GitHub repo to see some experiments the team has been working on so far.
WordPress 6.2 “Dolphy” was released today, named in honor of American jazz alto saxophonist, bass clarinetist, and flautist Eric Allan Dolphy Jr. This is the first of three planned major releases in 2023. It includes more than 900 enhancements and bug fixes, with a strong focus on improving the site editing experience.
One of the major highlights of the 6.2 release is the completely revamped Site Editor interface. The browse mode style of navigation lets users quickly slide between editing and previews of templates and template parts, with a new unified design that makes it feel like it’s all part of the same application.
Color-coded labels have been added in 6.2, which give users more visual cues in finding their template parts and reusable blocks inside the List View, the Block toolbar, and on the Canvas.
With these and other updates, the Site Editor is now out of beta. Inside the admin, the About page includes beautifully designed screenshots of each feature with the vibrant blue color that has become part of WordPress’ identity in the new design that is slowly being rolled out across WordPress.org.
WordPress 6.2 About page
For those switching from a Classic theme to a Block theme, widgets will now automatically become Template Parts to make it an easier transition.
Improved Navigation Block Experience for Managing Menus
Managing Navigation menus just got easier with a new sidebar inside the Site Editor that allows users to quickly add, remove, and reorder menu items.
WordPress 6.2 About page
Updated Block Inserter with Media Tab and Openverse Integration
The Block Inserter is sporting a new design that better integrates media, making it faster to insert images, video, and audio, with a new tab alongside blocks and patterns. Users can select the new tab and select a media type to see the ten most recent items.
WordPress 6.2 also adds integration with Openverse to this new media tab. Users now have access to the Openverse library of more than 700 free-to-use openly licensed and public domain works, directly inside the editor. Clicking on an Openverse image will instantly insert it as an Image block with the proper attribution and license automatically added to the caption, a much faster experience than downloading and uploading to the Media Library.
New Distraction-Free Writing Mode
WordPress 6.2 introduces a distraction-free writing mode that offers a more focused writing experience, hiding unnecessary interface elements from the editor. This video from the 6.2 testing guide shows how it can be enabled and disabled.
Other notable features and updates in 6.2 include the following:
 A new collection of header and footer patterns for block themes
Scaled block settings with split controls to better organize Styles and Settings options
A new Style Book that displays every block in the site’s library at a glance where they can be previewed and edited globally
Copy and Paste styles between blocks
Improved pattern insertion with patterns organized into more categories, like headers and footers
Custom CSS support sitewide and for specific blocks
Sticky positioning to keep top-level group blocks fixed to the top of a page as visitors scroll
Improved privacy for default themes with locally hosted Google Fonts
WordPress 6.2 was made possible by more than 600 contributors across 50 countries, with 178 of those contributing for the first time. Update today to get access to all these new features and bug fixes. For the most comprehensive coverage of all the under-the-hood changes for developers and extenders, check out the WordPress 6.2 Field Guide.
It has been around for the past few WordPress releases, the removal of the beta label is merely an invitation for more users to try it.
This also indicates the completion of phase 2 of the WordPress development roadmap which started out with the release of the new block editor back in WordPress 5.0 (late 2018).
WordPress 6.2 includes several new features added to the site editor, including some brand-new tools which we’ll talk about later in this article.
Note: Full site editor is available with block themes that support this feature. You can try it out even if you are using the older classic editor with a block-enabled theme.
Improved Navigation Menu Block
Navigation menus help you define your website layout to your users. However, creating them in the full site editor had been a bit difficult for beginners.
WordPress 6.2 now comes with an improved ‘Navigation’ block.
You can now create and manage the Navigation block by editing items in the sidebar.
To add a new menu item, simply click on the ‘add (+)’ button. You can also drag and drop menu items to rearrange them.
Want to use a different menu? You can now easily switch between menus you have created earlier by clicking on the Three-dot menu in the sidebar.
Overall, this is a significant improvement to the older Navigation block where you had to edit items inline which was not a good experience for beginners.
Improved Template Browsing Experience
WordPress 6.2 comes with a new template browsing experience.
This allows users to browse different templates to find out which one they need to edit if they want to make changes to a certain area of their website.
To edit a template or template part, simply click to load it inside the preview window. After that, just click on the preview window to start editing.
Want to exit the site editor?
Simply click on the WordPress or your site logo at the top left corner of the screen to enter the template browser. Then click again to exit and return to the WordPress dashboard.
The template browser screen will now also show you that you have unsaved changes.
It also offers an improved saving experience showing what changes you are saving.
Template Parts Highlighted with Colors
A template in the site editor may include several template parts, like the header and footer.
These are global elements that can be used in multiple places on your WordPress website. If you edit a template part on one page, those changes will be reflected all over your site.
Previously when editing a template part, the only indication was the label at the top changed to show the template part name.
Editing template parts affects all templates that include those elements. This makes it important to indicate that users are editing a global template part and not simply the page they are looking at.
WordPress 6.2 now makes this more noticeable by adding colors and an icon to indicate that you are editing a template part.
Modify Your Theme With The Style Book
WordPress 6.2 comes with a style book feature in the site editor.
This is basically one convenient place to browse how your theme displays all the blocks. To access it you need to switch to the Styles panel and then click on the Style Book icon. It is the one that looks like an eye.
This will show you all the blocks, and how they are styled in your theme. They are organized into different categories so that you can easily locate the block you want to edit.
Click to start editing a block and you will see all the tools that you can use in the sidebar panel. Changes you make here will apply globally to your theme.
Basically, you can change the appearance of your entire theme by editing individual blocks here and creating a completely new style of your own.
Want to edit block styles individually? Don’t worry there are even more design tools at your disposal to edit blocks.
Ability to Add Custom CSS to Your Theme or Blocks
By default, the site editor hides the legacy Theme Customizer interface. Many users added their custom CSS in the ‘Additional CSS’ panel available with the legacy customizer.
Until 6.2, it was a problem to add custom CSS using the default tools available.
WordPress 6.2, however, now allows you to add custom CSS that applies to your entire site. Simply click on the Styles panel and choose Custom CSS under the three-dot menu.
You can also add custom CSS to individual blocks as well.
Switch to the Style panel and then click on Blocks.
Now, you need to select the block that you want to modify.
After that, click on the ‘Additional Block CSS’ tab to enter your custom CSS code.
WordPress 6.2 makes it easier to add custom CSS if you need to. However, it comes with a ton of built-in design tools which are much easier to use than adding custom CSS.
Copy and Paste Block Styles
Another styling feature that reduces the need to add custom CSS is the ability to simply copy and paste block styles.
Let’s say that you just made some changes to a block and want to make the same changes on another block as well.
With WordPress 6.2 you can simply click on ‘Copy styles’ under the block options.
After that, click on the block options for the block where you want to paste the style and select ‘Paste styles.’
Note: Your browser will ask for permission to allow your website to view the contents of the clipboard. You need to click ‘Allow’ to continue.
Improved Pattern Insertion
WordPress block patterns are a collection of pre-made design elements that you can use for creating custom content layouts faster.
By default, WordPress comes with several built-in patterns. Your WordPress theme may also include its own pattern. Plus, you can find more patterns in WordPress Patterns Directory.
WordPress 6.2 comes with an improved pattern insertion interface.
Openverse Free Media Library Integration
WordPress 6.2 now adds a ‘Media’ tab in the inserter as well.
Here, you can choose media from your own WordPress media library or browse royalty-free images from Openverse.
Openverse is a sister project of WordPress.org. It allows openly licensed and public domain works to be discovered and used by everyone.
Once you select an image it will be inserted into the editor and downloaded to your WordPress media library as well.
WordPress will also save the image caption which may include a link back to the original source. You can delete this caption if the image is in the public domain.
New Sub Panels for Block Settings & Styles
WordPress 6.2 now uses sub-panels to separate block settings and styles.
This helps users understand where they need to look if they want to change the appearance of a block.
New Distraction-Free Mode
Historically, WordPress has always provided options to hide the formatting buttons and toolbars on the post editor screen.
Here is how it looked in WordPress 4.1 with the older classic editor.
However, the block editor had the option to be used in full-screen mode. WordPress 5.4 started using the full-screen mode as the default.
This allowed users to have a much cleaner writing interface, but there was no distraction-free mode.
WordPress 6.2 now comes with a completely clean and calm distraction-free mode.
Users will be able to choose it from the editor settings, and it removes all toolbars and editing panels from the screen.
Import Classic Widgets as Template Parts in Block Themes
WordPress 6.2 provides a nice fallback for importing classic legacy widgets in block themes when switching themes.
Users with classic widget themes lost their legacy widgets when they switched to a block theme. Now, you can import them as template parts.
Simply create a new template part by clicking on the ‘Add New Block’ button (+).
From the template part settings panel, click on the Advanced tab to expand it, and you’ll find the option to import a widget area from your previous theme.
Miscellaneous Enhancements
WordPress 6.2 contains a ton of enhancements. It merges 10 Gutenberg releases (‘Gutenberg’ is the codename for the original block editor project) into WordPress core so there are many refinements and new features to explore.
Here are some of the most useful enhancements.
1. Captions Button in Image Block Toolbar
Previously WordPress automatically added the caption area below the image and moved the cursor automatically to the caption.
This led many users to continue writing their text not realizing that they are writing it in the caption area.
WordPress 6.2 fixes this by adding a caption button to the toolbar. Users can now use it to add a caption if needed.
2. Improved Calendar Block
The calendar block now comes with more color options.
3. The List, Outline, and Info Panels are Merged
The list view, outline, and info panel are now merged into one convenient location.
4. Group Block Layout
The ‘Group’ block now lets you choose a layout.
5. The Download Link for Media Files
The media screen will now show a ‘Download File’ link in the list view.
6. New Icon for Settings Panel
The icon to display the settings panel previously used a gear icon. It is now presented with a panels icon.
Under The Hood Changes
WordPress 6.2 also includes a ton of changes intended for developers. Following are some of these changes:
A new HTML API called WP_HTML_Tag_Processor is introduced. (Details)
A new client-side filter called blockEditor.useSetting.before is introduced. It allows developers to change block settings before the editor is rendered. (Details)
Patterns API extended to include template_types property. (Details)
Faster updates by moving directories instead of copying them. (Details)
A new switch_to_user_locale() function is introduced. (Details)
Create autosave revisions only when content is changed. (Details)
Add a style variation tag to themes that use style variations. (Details)
We hope this article helped you uncover what’s new in WordPress 6.2 and which new features to try out. We are particularly excited about all the changes to the site editor and performance improvements for block themes.
If you liked this article, then please subscribe to our YouTube Channel for WordPress video tutorials. You can also find us on Twitter and Facebook.
WP Engine’s Pattern Manager is now available in the WordPress Plugins Directory. The plugin gives WordPress professionals a dedicated interface for browsing, designing, and organizing patterns with categories, keywords, descriptions, and more. It is still in beta and not recommended for use in production. Although it can be used on a lived website, the plugin’s intended use is for managing patterns on a locally hosted development site.
The Pattern Manager makes it possible to use core features for which there isn’t yet an interface:
When a user makes a new page or post, auto-show a modal with your patterns, available to be used.
Make your pattern available in the block inserter, or choose to hide it from the inserter.
Allow users to transform any block into your pattern.
WP Engine made several improvements to the plugin based on beta feedback since the time we reviewed the plugin earlier this month. The matter of where the patterns are stored was one issue the testers were concerned about. Pattern Manager pushes the patterns to PHP files every time the user saves them, which also makes them available for collaboration via git.
“One of the most requested features was child theme support, so we added that,” WP Engine Principal Engineer Mike McAlister said. “Now, if you have a child theme active, Pattern Manager will save your new patterns to the child theme, while all of the patterns in your parent theme are still available.”
Another common request McAlister’s team received was the ability to register custom pattern categories. This feature is currently in development and will be available in the plugin in the near future.
“Other than that, we made a lot of nice little improvements like adding a setting for defining the pattern preview width, deprioritizing the Pattern Manager admin menu item (which was previously at the top of the admin menu), and some light UI touch-ups,” McAlister said.
“We had over 300 people in the beta and the feedback was highly positive, which is surprising for a niche developer tool like this. To me, it speaks to the interest in all of this new WordPress technology and how developers are looking for tools like Pattern Manager to help them start working with it.”
WordPress 6.2 was scheduled for release today, but contributors discovered a bug with date formats during the 24-hour freeze that they believe could have a significant impact on functionality like bookings, date permalinks, and e-commerce stores.
The decision was made this morning to delay with a consensus to apply a revert and release a silent 6.2 RC5 with the fix. WordPress 6.2 Core Tech Co-Lead Tonya Mork proposed reverting as the impact seemed too widespread to risk releasing today with a fix delayed to a minor release.
“I don’t think this can wait until 6.2.1 given that this isn’t just some text that won’t bold, but something that will have quite a big impact (including stress/financial) on site owners and staff managing bookings and such,” 6.2 Core Triage Lead Colin Stewart said.
WordPress Core Committer Jonathan Desrosiers also weighed in on the issue in favor of a revert and silent RC5.
“I also think that [it’s] impossible to anticipate the full impact of this change,” Desrosiers said. “This definitely illustrates the importance of accompanying even the smallest changes with appropriate tests. We owe this due diligence to our users.
“If we release the issue with 6.2 we could have a much greater problem on our hands. It’s not something that would not be easy to recognize or understand for the large majority of users, and it’s nearly impossible for Core to ‘auto-fix’ any occurrences of the bug in a future minor release. We also should really avoid having to include fixes like that anyway as they’re just a huge maintenance burden/technical debt.”
Contributors in the discussion this morning agreed that knowingly shipping broken code just to keep the schedule would be a wrong move and that shipping a fix today could introduce additional problems. An announcement will be posted to the Make/Core, followed by the 6.2 RC5 release, which will restart the 24-hour clock ahead of the official 6.2 release tomorrow.
Gutenberg Phase 3 is officially in the planning stage, as the Site Editor is set to exit the beta in 6.2 and the major tasks of Phase 2 are nearing completion.
Gutenberg lead architect Matias Ventura published a preliminary outline of what is planned to be included in the next “Collaboration” phase of the project. Real-time collaboration is at the top of the list, the likes of which users have previously experienced in apps like Google Docs.
“Imagine being able to work together in real-time across all block editors, crafting content and designs seamlessly without being locked out of editing,” Ventura said. “The goal is to provide all the necessary infrastructure and UI to handle multiple users working together on the same content simultaneously, making it easier to create, edit, and customize web pages and posts as a team.”
“I would say, in general, the real-time collaboration sounds the most technically challenging because of what it represents and all the changes needed to how we interact with WordPress from async to sync, basically,” Prieto said. “That would be the hardest part. I think there are also already a few prototypes working, but we need to see how that scales, for example.”
Prieto was referencing Gutenberg engineer Riad Benguella’s AsBlocks project, which he introduced on his blog in 2020 and is available on GitHub. Another prototype, “Block Collab: New package, a framework for collaborative editing,” currently exists as a draft PR created by Gutenberg contributor Enrique Piqueras.
AsBlocks demo video
Asynchronous collaboration will also get some attention in this phase, which includes features like sharing drafts for content and design changes, inline block commenting, assignment review, improved version control, and task management. These are features that are currently available to WordPress users through a variety of different plugins.
“The goal is to enable users and larger teams to collaborate on projects and its different parts at their own pace and based on their workflows,” Ventura said.
Ventura also identified Publishing Flows and improvements to the Post Revisions interface as parts of the Collaboration phase. This would include features like an interface for editorial requirements, customized goals, and task completion prerequisites before publishing. Post Revisions would become more visual, inclusive of individual blocks, and may even be updated to to support more complex scheduling requirements across multiple parts of the site.
Collaboration may less critical to WordPress’ success than world-class publishing capabilities but it will be refreshing to look past the editors to begin improving the admin experience. There are a few pieces of the puzzle that will will require contributors to jump in on getting WordPress’ admin to the place where it can handle more modern collaboration workflows. Ventura said part of this project is to begin the process for an admin design update and navigation work, improving admin notices and the UI library of design components, as well as the ancient admin list views.
Ventura also loosely outlined a Library focus area that would introduce a place for managing blocks, patterns, styles, and fonts.
“As part of this work, also look at what improvements can be done to enhance the media library design, interactions, and extensibility,” Ventura said. He confirmed to commenters that this part of the project was left “intentionally vague as it needs a bit more thinking.”
The last item in the Collaboration outline is a global search and command component that would be extensible and allow admins to navigate directly to content or different admin areas as well as run comments like “create new post” or “toggle top toolbar.”
“As AI tools are taking the world by storm, this could also play an important role in letting plugin authors integrate novel solutions that are prompt based in nature,” Ventura said.
Although Ventura assured readers that projects related to prior phases will continue, such as more blocks, improved tables, grid layout system, and the block API roadmap, there are those who would like to see more time spent on editing and customization before moving on.
“I love the initiative, but I wish they’d slow down and focus on the overall WordPress experience and mobile design tools, which affect virtually every user,” WP Engine developer Mike McAlister said in October 2022. “Collaboration tools won’t make or break WordPress, but the user experience will.”
In March, McAlister commented again on the pace of the Gutenberg project’s phases. “I would add a new phase of User Experience between 2 and 3,” he said. “We need a whole phase dedicated to refining the experience of all these great new tools.
“I am very optimistic about all of the features, but even as a veteran WordPress builder, the experience is still quite maddening at times. I don’t know if we’re spending enough time understanding the problems before implementing solutions and moving on to the next thing.”
Ventura said the timing for breaking ground on the Collaboration phase would not be the 6.3 release coming in August 2023. Contributors are still working towards refining the customization experience as WordPress prepares to bring the Site Editor out of beta in the 6.2 release. He encouraged people to share feedback in the comments on the post if there are any items they were hoping to see as part of the Collaboration phase.
WordPress contributor and developer Nick Diego has released version 3.0.0 of his Block Visibility plugin, which allows users to conditionally display blocks based on specific user roles, logged in/out, specific users, screen sizes, query strings, ACF fields, and more.
The biggest change in this update is that Diego has decided to merge the Pro version with the free plugin so users no longer have to purchase a commercial add-on to get extra features. Diego launched the pro version in 2021 to help support his efforts developing the free plugin but said this is no longer necessary.
“Originally I had planned on developing a plugin business,” he said. “But I found my love for building, contributing, and educating surpassed my desire to be an entrepreneur in the plugin space. This way, I can focus on my passion and also support the community.”
Version 3.0.0 includes previously pro features such as browser and device control that allows for displaying custom content based on the browser and/or device of the current user. It also adds Location control, which isn’t what it sounds like. It allows users to show or hide content based on where the block is located on the website and attributes of its location. Blocks can be conditionally displayed based on post taxonomy, post type, and other rules that offer more control over block visibility than one might ever have imagined possible.
Visibility Presets is another mind-blowing new feature in this release, the kind that makes you wonder how this could be a free plugin. It allows users to create a collection of visibility conditions that can be applied to other blocks with a single click. Blocks can have multiple presets applied, and Diego said this is just the first iteration of this feature.
This release includes everything except the WooCommerce and Easy Digital Downloads controls, which include conditional block logic for shopping cart contents, product details, customer metrics, and more. Diego plans to add those later in April with the next version (3.1.0), so he can make a few further changes to them before including them in the free version. Users who rely on the WooCommerce or Easy Digital Downloads controls will need to wait until the next release to deactivate the Pro add-on.
The Block Visibility plugin’s documentation is already extensive, with videos, screenshots, and tutorials for nearly every feature. Diego said he will be investing more time into documenting how developers can create their own Block Visibility extensions. The plugin currently has more than 9,000 active users and will likely see more growth now that the pro features are getting rolled into the free version.
WP Engine‘s virtual developer conference DE{CODE} 2023 just wrapped up, but that doesn’t mean you have to miss out on the insightful content! You can still register for free today and get the entire conference on demand.
Let’s dive into some of the great content you can access right now.
Learn at DE{CODE}
The conference is packed with expert-led talks for any skill level. Whether you’re interested in headless, privacy, or security, there is something for you.
WP Engine CIO and Founder, Jason Cohen, tackles How Technology has Shaped the Power Dynamics Between Designers, Developers, and Marketers. Cohen looks back on the last 20 years of WordPress and where technology might lead us in the next 20.
Advanced Custom Fields users will get even more use out of the plugin with 7 Things You Didn’t Know You Could Do with Advanced Custom Fields. Iain Poulson, Senior Product Manager at WP Engine and Rob Stinson, Product Marketing Manager and WP Engine will highlight their seven favorite “hidden†features.
20 Years of WordPress
One of the most notable talks was a fireside chat with WordPress co-founder and Automattic CEO, Matt Mullenweg and MatÃas Ventura, Lead Architect of Gutenberg; Developer Experience Team at Automattic.
WP Engine VP of Marketing Monica Cravotta moderated the chat kicking things off with a question about the lasting power of WordPress considering the upcoming 20 year anniversary.
“For one thing, it’s shared ownership. You own WordPress as much as I do. Because of this we were able to bring together this community of people who like working on it,” Mullenweg said. “The story of WordPress is the community. It’s not just the code, it’s the ecosystem around it.”
Mullenweg continued saying it is the responsibility of all WordPress developers to make sure the user experience remains excellent. Making WordPress the default and easy choice will create more open source defenders, and eventually lead to powering 85 percent of the web.
Beyond WordPress
In Mullenweg’s State of the Word address in 2022, he stated that Gutenberg could one day be bigger than WordPress. He imagines a world where some day any site can adopt Gutenberg architecture even without using WordPress.
Ventura spoke to how we’ve already seen non-WordPress users design entire sites just using blocks.
“We’re seeing designers who haven’t touched code at all be able to express and share their creations using Gutenberg,” he said. “What I really want to see is that expansion of catering to all the facets of human creativity and expression and I think all these tools speak to that.”
Mullenweg agreed saying, “We are aiming to build something for humanity, for the web, not just for the WordPress community.”
Watch Now
If you are already registered and want to revisit content, go here and enter your name and email to access On Demand content. If you haven’t registered, not to fear, you still can. Go to the same page and select “Still haven’t registered?”
You won’t want to miss out on the inspiring sessions.
WooCommerce Payments, a plugin that allows WooCommerce store owners to accept credit and debit card payments and manage transactions inside the WordPress dashboard, has patched an Authentication Bypass and Privilege Escalation vulnerability with a 9.8 (Critical) CVSS score. The plugin is active on more than 500,000 websites.
Beau Lebens, WooCommerce’s Head of Engineering, published an advisory about the vulnerability today, which he said “could permit unauthorized admin access to impacted stores” if exploited. It was discovered by a security researcher participating in WooCommerce’s HackerOne program.
WooCommerce worked with WordPress.org to push out a forced update for sites running WooCommerce Payments versions 4.8.0 through 5.6.1 to patched versions. Many store owners have automatic updates turned off to ensure proper testing before updating. Now that the vulnerability has been made public, it is imperative that all stores running version 4.8.0+ of the plugin update manually as soon as possible. WooCommerce sites hosted on WordPress.com, Pressable, and WPVIP have already been patched.
At this time WooCommerce does not have any evidence of the vulnerability being exploited but the plugin’s engineers recommend checking for any unexpected admin users or posts addd to the site. The advisory includes further details of what to do if you believe your site has been impacted. As a cautionary measure, WooCommerce has temporarily disabled the WooPay beta program since the vulnerability impacts this new checkout service they have been beta testing.
The world is learning new ways of moving faster with the help of AI, as the increased availability of the technology is poised to transform the way humans work. Generitive AI is decades old but recent advances and new tools like DALL-E (launched in January 2021) have made AI more accessible to the public.
When ChatGPT arrived in November 2022, it sparked an explosion of tools built to extend its capabilities to nearly every aspect of work. Conversational AI tools can now handle a myriad of mundane tasks like updating your resume, reading and summarizing PDFs, and creating slides for presentations. Yesterday Google announced it is testing Bard, its AI chatbot rival to ChatGPT and Bing AI. In the fast-moving world of companies innovating with AI, GitHub also announced Copilot X, which is powered by GPT-4 and adds Copilot to pull requests, docs, and the command line and introduces chat and voice features for Copilot.
So far developers report having more success with ChatGPT than Bard. In some cases the creation process is incomplete and requires some expertise to ensure the plugin will work, but it’s also opening up the world of plugin development to those who would not be able to create one without hiring a developer.
I have never coded a WordPress plugin in my life
With the help of Chat GPT 4, I just did
In the span of ~30 mins, I was able to work with GPT4 to come up with a solution for my WooCommerce store to add a discount of 1.5% for product quantities above 1 w/ a cap set at 6%
WordPress developers who want to share their AI-assisted creations with the community have also started submitting them to WordPress.org.
After receiving a string of violations, WordPress’ Plugin Team is warning developers that code submitted to the official directory must be GPL compatible.
“There is no guideline AGAINST using generated code,” Plugin Review Team rep Mika Epstein said.
“You’re welcome to use whatever tool you want to build plugins. That said, you are 100% responsible for that code if you chose to host it here…
“But the important bit here is that it means if ChatGPT, for example, built your plugin, you have to verify that all the code used is GPL compatible. Just like you are expected to validate licenses on libraries and code-snippets, everything in your plugin has to be GPL compatible. Should we determine that your code is a copy of someone else’s or includes code from non-GPL plugins, your submission will be rejected and any live plugins will be closed.”
Epstein cited an example where a developer built a “scroll to top” plugin with code that was copied from another, existing plugin hosted on WordPress.org. It was submitted five times and rejected every time.
“Yes it’s fine to fork code,” Epstein said. “You have to credit them, however, and that’s something those AIs have been pretty bad at doing.”Â
Commenters noted that autocomplete in modern IDEs workin in a similar way, as well as snippets. These types of tools can enhance productivity but prospective plugin developers who may not be as informed about software licensing, should stay away from wholesale copying another’s work without crediting them. This may require doing some extra research on the code that AI spits out.
In this new era of AI-assisted creation, we have essentially hitched our wagon to a star, as Ralph Waldo Emerson described in his essay on Civilization in 1870:
Now that is the wisdom of a man, in every instance of his labor, to hitch his wagon to a star,’ and see his chore done by the gods themselves. That is the way we are strong, by borrowing the might of the elements. The forces of steam, gravity, galvanism, light, magnets, wind, fire, serve us day by day and cost us nothing.
That decade brought humanity inventions like the phonograph, telephone, and the incandescent light bulb, followed by the automobile in the next decade. Emerson’s essay explores man’s relationship to technology where principles—”justice, love, freedom, knowledge, utility”— are the guiding light and accelerant of technology’s impact.
The GPL is one of those principles for the WordPress community, which has enabled its uncommon growth and its wildly successful ecosystem. There are still a lot of grey areas when it comes to licensing and the code generated by AI. Developers would do well to use AI-generated code for inspiration and give credit where they can.
Web developer Mark Praschan created his first plugin for WordPress.org using ChatGPT. He used the free version, gave it a few prompts describing what he wanted it to do, and ChatGPT produced a functional plugin.
NorthStar allows users to display a message in the WordPress admin bar with settings to customize it along with the text and background colors.
“The first version worked great,” Praschan said. “I made a few small aesthetic improvements to the settings page and the display of the message, but we were already 95% of the way there!”
Praschan also had ChatGPT design an ASCII Art logo for the plugin. It required a few back-and-forth prompts but took just a few minutes before it was ready to be copied and pasted into Photoshop.
The plugin did not pass the code review on the first try for two reasons that Praschan shared on Twitter:
Issue # 1: Variables and options must be escaped when echo’d. There were 2 instances of not “escaping late”
Issue # 2: Generic function/class/define/namespace names. One function was missing the “northstar_” prefix.
“How did I fix it? I made ChatGPT do it, of course,” Praschan said. “I copy/pasted the problems and a few snippets of my code and it spat out the fixed code.”
There are more of these plugins coming – where a person need only dream up the idea and prompt their chosen AI tool for the code. These will more than likely be simple plugins for the time being, but it’s not too early to establish some best practices for using code generators. WordPress is navigating new territory where anyone can create a plugin with a dash of creative prompts and very little code experience.