WordPress.org

The Month in WordPress: April 2021

Posted May 4, 2021 by Hari Shanker R. Filed under Month in WordPress.

As WordPress grows, both in usage as a CMS and in participation as a community, it’s important for us to shed the idea that software creation is only about what literally can be done to code or what literally can be done to core or what literally can be done to the CMS. 

That was Josepha Haden Chomphosy on the “Your Opinion is Our Opportunity” episode of the WP Briefing Podcast, speaking about the importance of co-development and testing for the continued growth and maintenance of WordPress. This month’s updates align closely with these ideas. Read on and see for yourself. 


WordPress 5.7.1 is launched

WordPress security and maintenance release – 5.7.1 came out in April. The release fixes two major security issues and includes 26 bug fixes. You can update to the latest version directly from your WordPress dashboard or by downloading it from WordPress.org.

Want to contribute to WordPress 5.8? Check out the 5.8 Development Cycle. To contribute to core, head over to Trac, and pick a 5.8 ticket –– more info in the Core Contributor Handbook. Don’t forget to join the WordPress #core channel in the Make WordPress Slack and follow the Core Team blog. The Core Team hosts weekly chats on Wednesdays at 5 AM and 8 PM UTC. 

Gutenberg Version 10.3, 10.4, and 10.5 are out

Contributor teams released Gutenberg version 10.3 on April 2, version 10.4 on April 14, and version 10.5 on April 30! Version 10.3 improves the block toolbar and the navigation editor, whereas version 10.4 adds block widgets to the customizer and improvements to the site editor list view. In version 10.5, you will find a set of new block patterns and enhancements to the template editing mode, along with the ability to embed PDFs. 

Want to get involved in building Gutenberg? Follow the Core Team blog, contribute to Gutenberg on GitHub, and join the #core-editor channel in the Make WordPress Slack. The “What’s next in Gutenberg” post offers more details on the latest updates. If you are unfamiliar with the Gutenberg plugin, learn more in this post.

Full Site Editing updates

Following the Full Site Editing (FSE) feature demo hosted by Mattias Ventura, the project leadership decided that WordPress 5.8 will only include some FSE features, such as a template editor for pages/blank templates, a widget editor screen, and the theme.json mechanism. Other features like the Global Styles interface and Site Editor (managing all templates) will be made available later. The team has started working on the next steps in shipping these chosen FSE features with version 5.8.

New to FSE? Check out this blog post for a high-level overview of the project. You can help test FSE by participating in the latest FSE Outreach Program testing call –– leave your feedback by May 5th. Want to participate in future testing calls? Stay updated by following the FSE outreach schedule. You can also submit your questions around FSE right now.

WordCamp Europe 2021 is on the calendar

One of the most exciting WordPress events,  WordCamp Europe 2021, will be held online on June 7-9, 2021! Event organizers have opened up calls for sponsors and media partners. Free tickets for the event will be available soon — sign up for email updates to be notified when they are out!


Further Reading

Have a story that we should include in the next “Month in WordPress” post? Please submit it using this form.

The following folks contributed to April’s Month in WordPress: @andreamiddleton @cbringmann @chaion07 @hlashbrooke and @jrf 

Getting Started with the Figma WordPress Design Library

Posted April 28, 2021 by Chloe Bringmann. Filed under Uncategorized.

Created by James Koster, (@jameskoster)

As the name suggests, the WordPress Design Library is a library of WordPress design assets, enabling anyone to quickly create design prototypes for WordPress UI in Figma.

These tools are useful for designers when creating new UI and for anyone looking to contribute ideas, enhancements, or even solutions to bug reports. Sometimes pictures really do speak a thousand words.

In this post, we’ll talk about some key features of Figma before diving into a practical example that demonstrates some of the WordPress Design Library utilities.

What Is Figma?

Figma is a collaborative design tool that members of the WordPress project’s design team have been using for several years to work on and share design concepts. It offers a variety of handy features such as: in-browser access, rich prototyping tools, component libraries, code inspectors, live embeds, inline commenting, plugins, and much much more.

Perhaps best of all, it is totally free to sign up and start playing around. If you join the WordPress.org Figma organization (instructions below), you’ll gain access to the WordPress Design Library enabling you to design WordPress UI in no time.

What Is the WordPress Design Library?

In Figma, you can share components and styles by publishing them, transforming your file into a library so that you can use instances of those components in other files.

Figma.com

It may be easiest to think of the WordPress Design Library as a visual representation of all the javascript components that compose UI in the WordPress codebase. As an end user of the library, you can use those components in a self-contained environment to create new interface designs. It’s kind of like a big LEGO box containing all the UI pieces (buttons, form inputs, etc.) that you can use to create and try out new designs.

Creating designs with these assets enables rapid ideation on new interfaces by removing mundane processes that one would ordinarily have to work through. Nobody wants to repeatedly double-check that the button they made perfectly matches the buttons rendered by the code! And on the flip-side of that coin, anyone sharing a design with others will generally endeavor to make specific elements (like buttons) match what exists in the code as closely as possible. The WordPress Design Library solves both these headaches and more.

An additional benefit to these assets visually matching what exists in the codebase is that any designs you create with them will inherently make use of the latest WordPress design language and consequently feel like WordPress with almost no effort required. Passing such designs on to developers makes them easier to interpret and implement too.

Figma Fundamentals

Before getting into the practical section of this post, let’s quickly cover some of the fundamental features of Figma libraries. This will help prepare us for working with the WordPress Design Library.

Components

As we touched on above, the library consists of “components” that serve as visual counterparts to their code-based equivalents. That is to say, there is a Button component in Figma, and a matching Button component in the WordPress codebase.

But what is a Figma component?

Components are elements you can reuse across your designs. They help to create and manage consistent designs across projects.

help.figma.com

Let’s quickly explore some of the properties of Figma components to understand the ways they help when working on our next design.

Variants

Some Figma components offer variants. One example is Button(s) which all have the following states:

  • Resting
  • Hover
  • Focus
  • Disabled

These can be manipulated via the variants interface in Figma:

Other examples of components with variants are form inputs and menu items. Variants are a new feature in Figma, so we’ll be adding more over time.

Overrides

Although any components you insert are intrinsically linked to the master component in the library, it is possible to override some properties.

While working with an instance of the Button component, you can change things like the label, or even the background color, while maintaining the link to the master component in the library. If you’re familiar with git workflows, this is kind of like creating a local branch. Any changes you make can easily be reset in a couple of clicks.

Overrides made to your local instance will persist even when the master component is updated. So if your design calls for a button with a green background, you can apply that override safely with the knowledge that even if the master component is updated, your button can inherit those updates and remain green.


We’ve only really scratched the surface of components here. So I would recommend the official Figma documentation for more advanced information.

Figma Styles

In addition to components, styles are also published as part of the WordPress Design Library. They have similar properties to components in that a master style exists in the library and can be utilized in your local Figma file. Just like Components, Styles will receive updates when changes to the library are published.

Styles are used to define colors, typographical rules, and effects like drop-shadows present in the WordPress codebase. They enable you to apply things like text or background colors that will match other UI parts.

Using Styles from the library, you ensure that your creations match existing UI elements, making it easier to implement.


To learn more about styles in Figma, I recommend the official documentation.

Views and Stickers

“Stickers” are simply arrangements of Components and Styles that have been combined to represent common UI elements. They are not good candidates for full componentization due to their frequent customization needs. Examples of Stickers include the Inspector sidebar and the block inserter:

Their utility is simple: find the sticker you need, peel (copy) it from the WordPress Design Library, and stick (paste) it into your local file before customizing as needed.

Stickers are not Figma features like Components and Styles, but any stickers you copy to a working file will stay up to date by virtue of their underlying assets.

Views are arrangements of components, styles, and stickers.

Designing a Block Using the WordPress Design Library

Okay, now that we have a handle on the basics of Figma libraries and their features and the utilities of the WordPress Design Library like Stickers and Views, let’s work through a practical example – designing the UI for a brand new block.

Getting Started

All you need to get started is a Figma account added to the WordPress.org Figma organization.

Once you’ve signed up at Figma, simply join the #Design channel on the community Slack and request an invite. Include your Figma username, and a friendly community member will help get you set up in no time.

Now the fun begins!

To create a fresh new design file in Figma, visit the Gutenberg project and click the “+ New” button.

Now let’s include the WordPress Design Library in our working file so that we have access to all the goodies we’ll need:

  1. Open the “Assets” panel and click the little book icon to view the available Team Libraries.
  2. In the modal, toggle the WordPress Design Library on. You can leave the others off for now.

After closing the modal, you’ll notice a number of components become visible in the assets panel. To insert them, they can be dragged on to the canvas:

It’s kind of like inserting a block 🙂

Creating a Pizza Block 🍕

I love to eat pizza, so for fun, I’m going to design a new block that simply allows the user to display a delicious pizza in their posts and pages. I want the block to include options for a total number of slices and different toppings.

Work Out the Flow

I always like to concentrate on individual flows when designing blocks. That is to say, the linear steps a user will take when working with that block. In this case, I want to create visualizations of the following steps/views in our Figma file:

  1. Inserting the block from the Block Inserter
  2. The Pizza Block placeholder state including options in the block, its Toolbar, and the Inspector
  3. The configured Pizza Block settings
  4. The end result – a delicious pizza sitting comfortably on the canvas

Sketch the New States

Thanks to the WordPress Design Library, I’ll be using as many existing UI components as possible, but I still need a rough idea of how they will be composed in the new interfaces that my Pizza block will require. I normally find it helpful to sketch these out on paper.

Here’s the placeholder state which users will see when they first insert the block. This should be all I need:

Prepare the Views and Stickers

Helpfully, there are Views in the WordPress Design Library I can use for each of the steps in the flow outlined above.

I open the library, navigate to the Views page, find the views I need, copy them, and paste into my working file.

It is very important to copy (not cut) Views from the library so that they remain intact and other people can still access them. If you cut them, they’ll be gone forever, so please don’t do that 🙂

I’m also going to need a block placeholder sticker, so I navigate to the Stickers page, copy the one that most closely resembles my sketch from before, and paste it into my working file.

As with views, please only copy stickers; do not cut them.

Gather the Components

Referring back to the placeholder state I sketched out on paper (it can be helpful to import this into your Figma file), I can see that I’m going to need some form elements to realize the design.

I navigate to the Assets panel, locate the components I need, and drag them into my file:

Helpful tip: Once a component has been inserted, you can transform it into another component via its settings panel. Sometimes it is easier to copy/paste a component you already inserted and transform it this way, rather than opening the assets panel over and over.

Arrange the Views, Stickers, and Components to Create a Coherent Design

Now that we’ve gathered all the individual pieces we need, it’s simply a case of arranging them so that they resemble each of the steps of the flow we outlined before. This is done with simple drag and drop.

If you’re familiar with software like Photoshop, Sketch, and others, this should feel very familiar.

Once everything is in place, our flow is complete:

I still find it incredible that we’re able to do this in just a few short moments.

Hook up the Prototype

With each step of our flow created, the last piece of the puzzle is to connect them and form a clickable prototype.

I switch to the Prototype panel and create click behaviors by selecting a layer, then dragging the white dot to the corresponding frame.

There are a variety of behaviors that the Figma prototyping tools support, such as a hover, drag, and click. It is even possible to create smart animations. Perhaps that’s something we can explore in another tutorial, but for now, I will refer you to the Figma documentation for more advanced prototyping.

Now that I’ve connected all the appropriate elements, I am able to take my prototype for a test drive by clicking the Play ▶️ icon:

You can try it too; just click here.

That’s All, Folks!

I tried to keep this tutorial fairly simple and concise; even though we only really got to grips with the basics here, you can see the power of Figma and the WordPress Design Library when it comes to trying out new designs.

Curious About Full Site Editing?

Posted April 27, 2021 by Josepha. Filed under Features, General.

The second major release of the year is right around the corner. You might have heard a bit of buzz about full site editing around your WordPress circles, so this post will give you some big picture things to know as well as a few wayfinding links for anyone who wants to know more.

For Site Owners and Operators

If you own and operate a WordPress site, updating to version 5.8 should be a seamless experience, just like any other update. All the conversation around full site editing is very exciting, but shouldn’t be alarming—everything in the next release that relates to full site editing is opt-in. To experiment freely with it, you need a theme that is built for it. Check the links at the end to see a few examples!

For Agencies and Theme/Plugin Developers

If you extend the functionality of the WordPress CMS for clients, updating to version 5.8 should also be seamless. As always, it’s smart to spot-check custom implementations in a staging environment or fully test when the release candidate is made available. Want to test your products and get everything client-ready? Check out any of the testing options below.

For Contributors and Volunteers

If you contribute time and expertise to the WordPress project, you can join us in the interesting work leading up to the WordPress 5.8 release and update your site with the deep satisfaction of a job well done. There is a lot that goes into every release—from design and development to documentation and translation; if you’ve got some time to spare, and want to help support the project that supports the tool that supports your site (whew!), check out the links below.

Resources

Your Opinion is Our Opportunity

Posted April 26, 2021 by Chloe Bringmann. Filed under Podcast.

In this episode, Josepha discusses the importance of co-development and testing for the continued growth and maintenance of the WordPress project. 

Have a question you’d like answered? You can submit them to [email protected], either written or as a voice recording.

Credits

References

Transcript

Read on for more »

Become an Early Adopter With the Gutenberg Plugin

Posted April 21, 2021 by Chloe Bringmann. Filed under Uncategorized.

Copy by Anne McCarthy (@annezazu) and Design by Mel Choyce-Dwan (@melchoyce)

In WordPress circles (whether it’s your local meetup, a trusted publication, or your networking group), you may have heard terms like Core Editor, Gutenberg, and the Block Editor used interchangeably over the last four years. And if you’re following contributor work on the project itself, you may also have heard some additional nuances—Gutenberg plugin, Gutenberg, or Block Editor. 

It can get a little confusing, so let’s take a look at four terms that will help you find your way: 

  • WordPress – WordPress refers to the open source software but also to the community that surrounds it. 
  • Gutenberg – Gutenberg is the code name for a multi-year project to update editing areas for the WordPress software.
  • Editor – The editor refers to a section of the software that allows you to update content on your site’s posts and pages. 
  • Gutenberg Plugin – The Gutenberg plugin is where early work to update the editor is shared.

The Gutenberg Plugin

Now that we’ve cleared up the definitions, let’s talk about the plugin. When might you use it? What would you use it for? You can think of it as an early access program or a “WordPress lab.” The plugin is updated every two weeks, which means that bugs that have been reported are often fixed and that what you see changes rapidly. 

The Gutenberg plugin also contains features that aren’t yet ready for their WordPress debut but are ready for curious users to test and provide feedback. This is a common practice that allows stable features to make it to your site in WordPress releases while allowing experimental features to be tested and refined. To get a sense of whether using the Gutenberg Plugin might be something you want to explore to get access to earlier features, check out the “What’s New” release posts and the Core Editor Improvement post series

Do I Need the Plugin to Use Gutenberg?

It depends on your comfort level! Generally speaking, it is not recommended to use the plugin on a site that has launched and is actively in use unless you’re very comfortable with the code side of WordPress. Fortunately, each WordPress release comes ready to go with multiple versions of the Gutenberg plugin

But if you are a keen beta tester who loves reporting feedback, or you feel comfortable navigating how to opt-in/out of the experimental aspects of the plugin, here are a few reasons you might want to dig into what the Gutenberg Plugin has to offer:

  • Test new features and give helpful feedback. For example, you can use the plugin to help test Full Site Editing
  • Get early access to the latest & greatest while navigating when to opt-in or out of experimental features. 
  • Prepare for the future whether you’re a theme author, plugin developer, agency owner, etc. 

Do you use the Gutenberg plugin and share feedback on GitHub? Thank you! This kind of feedback is what helps ensure stability in what’s shipped in WordPress releases. 


WordPress 5.7.1 Security and Maintenance Release

Posted April 15, 2021 by Peter Wilson. Filed under Releases, Security.

WordPress 5.7.1 is now available!

This security and maintenance release features 26 bug fixes in addition to two security fixes. Because this is a security release, it is recommended that you update your sites immediately. All versions since WordPress 4.7 have also been updated.

WordPress 5.7.1 is a short-cycle security and maintenance release. The next major release will be version 5.8.

You can download WordPress 5.7.1 by downloading from WordPress.org, or visit your Dashboard → Updates and click Update Now.

If you have sites that support automatic background updates, they’ve already started the update process.

Security Updates

Two security issues affect WordPress versions between 4.7 and 5.7. If you haven’t yet updated to 5.7, all WordPress versions since 4.7 have also been updated to fix the following security issues:

  • Thank you SonarSource for reporting an XXE vulnerability within the media library affecting PHP 8.
  • Thanks Mikael Korpela for reporting a data exposure vulnerability within the REST API.

Thank you to all of the reporters for privately disclosing the vulnerabilities. This gave the security team time to fix the vulnerabilities before WordPress sites could be attacked.

Props to Adam Zielinski, Pascal Birchler, Peter Wilson, Juliette Reinders Folmer, Alex Concha, Ehtisham Siddiqui, Timothy Jacobs and the WordPress security team for their work on these issues.

For more information, browse the full list of changes on Trac, or check out the version 5.7.1 HelpHub documentation page.

Thanks and props!

The 5.7.1 release was led by @peterwilsoncc and @audrasjb.

In addition to the security researchers and release squad members mentioned above, thank you to everyone who helped make WordPress 5.7.1 happen:

99w, Adam Silverstein, Andrew Ozz, annalamprou, anotherdave, Ari Stathopoulos, Ayesh Karunaratne, bobbingwide, Brecht, Daniel Richards, David Baumwald, dkoo, Dominik Schilling, dragongate, eatsleepcode, Ella van Durpe, Erik, Fabian Pimminger, Felix Arntz, Florian TIAR, gab81, Gal Baras, Geoffrey, George Mamadashvili, Glen Davies, Greg Ziółkowski, grzim, Ipstenu (Mika Epstein), Jake Spurlock, Jayman Pandya, Jb Audras, Joen A., Johan Jonk Stenström, Johannes Kinast, John Blackbourn, John James Jacoby, Jonathan Desrosiers, Josee Wouters, Joy, k3nsai, Kelly Choyce-Dwan, Kerry Liu, Marius L. J., Mel Choyce-Dwan, Mikhail Kobzarev, mmuyskens, Mukesh Panchal, nicegamer7, Otshelnik-Fm, Paal Joachim Romdahl, palmiak, Pascal Birchler, Peter Wilson, pwallner, Rachel Baker, Riad Benguella, Rinat Khaziev, Robert Anderson, Roger Theriault, Sergey Biryukov, Sergey Yakimov, SirStuey, stefanjoebstl, Stephen Bernhardt, Sumit Singh, Sybre Waaijer, Synchro, Terri Ann, tigertech, Timothy Jacobs, tmatsuur, TobiasBg, Tonya Mork, Toru Miki, Ulrich, and Vlad T.

People of WordPress: Tyler Lau

Posted April 13, 2021 by webcommsat AbhaNonStopNewsUK. Filed under heropress.

WordPress is open source software, maintained by a global network of contributors. There are many examples of how WordPress has changed people’s lives for the better. In this monthly series, we share some of the amazing stories that are lesser-known.

Embrace Who You Are and Your Journey

In this People of WordPress contributor story, we chat to Tyler Lau from the US on his relationship building work in marketing and his WordPress journey.

Read on to discover his story which shows it is often what you have learned from negative experiences in your life that can make you a major asset to a product team.

Tyler Lau stood in front of a colorful mural

An Entrepreneurial Mindset

Tyler recalls he always had a knack for spotting a enterprise ideas. As an industrious seven-year-old, he was already finding ways to make sales during the school breaks. 

While many entrepreneurs have similar stories, Tyler’s path took many turns before he discovered and thrived in the WordPress community.

He was drawn to both the software and the community that surrounds it from his search for personal and professional freedom. He ultimately was able to combine his various business interests and people skills into professional marketing work.

Using your skills to uncover your journey

Tyler Lau pictured sat on a chair using his mobile phone in his social media work

Tyler’s current role is as a Marketing Relationship Builder, based in Kansas, USA. His responsibilities span across all digital properties and products, leveraging his broad set of business and people skills.

These skills are amplified by his creativity and adaptability. Tyler says that one reason he is always looking for new projects is his Attention Deficit Hyperactivity Disorder (ADHD), a diagnosis he received in 2005.

In an industry built by programmers and developers who often have a strong sense of focus, Tyler felt that someone with ADHD wouldn’t be seen as a natural fit. He found the WordPress community to be a place where everyone can find the right spot for their unique skills. Tyler’s skill is people, and this has translated into many opportunities and responsibilities in his work life. His skills have also helped him give back to the WordPress community as a speaker and volunteer, and through multiple contributor days.

Relationship-building as a career

Most of Tyler’s experience was in the restaurant industry, and his resume did not exactly point to a career in tech. But the service industry actually prepared him well for everything he has taken on since.

When he is at work events, he meets people from across the world and builds connections with them. As an extrovert, he enjoys this and couldn’t imagine a job where he was isolated from getting to know others and relationship-building.

Understanding people and being able to operate in any setting are key competencies. Social skills and tact are useful for community building in the WordPress space too, and in Tyler’s life at different times it has been necessary for survival.

The true meaning of freedom

In the WordPress community, the concept of freedom comes up often. WordPress is built on GPL, free software, and open-source values. Practically speaking, anyone can work remotely or be their own boss to gain more freedom in work and life. Tyler feels that he never fitted into a traditional work mould. With his strong focus on freedom, he found this resonated with the freedom and opportunities he believes WordPress provides him and thousands of others.

Tyler describes how in 2013 his ‘inner opportunist’ got him into trouble. After dropping out of college following a brain aneurysm, he needed capital to fund his first startup. He shares that he found a quick but unlawful way to make money. Alongside this between shifts as a waiter, he worked on prototypes for his first product. The company was growing fast, and to protect his patents and take research and development to the next level, he had to work hard. Everything came to a halt when some of the actions he took resulted in being sent to prison.

He says that meeting other inmates reminded him that he was in a much better situation than most. He was educated, well-off, loved, and knew he had a future once he was released. He found that many inmates never graduated from high school and were computer illiterate. While inside, Tyler taught subjects like science, math, writing, reading, and social studies. He found that due to the lack of skills and support, many inmates would struggle upon release. He believes getting the mental health support and job training needed to thrive after prison is not easy for many.

There’s more to freedom than just being on the outside. You also need a sense of agency and enfranchisement,” says Tyler. He considered his sense of purpose and support network were plenty to keep him going and was ready to take on his next (legal) business challenge as soon as he could.

Going forward positively 

Tyler Lau portrait picture

The idea that your past doesn’t define you and you can choose to embrace it, is a key driver for Tyler.

He describes himself as an outlier in many ways. He recalls how politics influenced his life from the day he was born. Tyler’s father is a semi-dissident Chinese visual anthropologist, his mother is an art professor who left her home country of Japan to break free from traditional Japanese gender roles. Tyler feels he inherited a lot of this fearlessness.

I’ve never fitted in, and yet this is what makes me able to adapt to most situations and relate to just about anyone. I embrace my eclectic, dissonant past and see beauty in the person those experiences shaped me to be,” says Tyler. 

Now, he’s able to put those skills to good use in the WordPress community and beyond. 

He says: “Regardless of your physical abilities, mental health struggles, upbringing, and even your run-ins with the law, no one is excluded from carving their place in the WordPress industry”.

Contributors

Thank you to Tyler Lau (@tylermaximus) for sharing his #ContributorStory.

Thanks to Larissa Murillo (@lmurillom), Surendra Thakor (@sthakor), Olga Gleckler (@oglekler), Meher Bala (@meher), Yvette Sonneveld (@yvettesonneveld), Abha Thakor (@webcommsat), Josepha Haden (@chanthaboune), Chloé Bringmann (@cbringmann) and Topher DeRosia (@topher1kenobe) for working on the People of WordPress series.

HeroPress logo

This post is based on an article originally published on HeroPress.com, a community initiative created by Topher DeRosia. It highlights people in the WordPress community who have overcome barriers and whose stories would otherwise go unheard.

Meet more WordPress community members in our People of WordPress series.

#ContributorStory #HeroPress

Who Is WordPress?

Posted April 12, 2021 by Chloe Bringmann. Filed under Podcast.

In this episode, Josepha explores the five groups within the WordPress ecosystem and provides a high-level example of how they interact and support one another. As always, stay tuned for the small list of big things and a contributor highlight.  

Have a question you’d like answered? You can submit them to [email protected], either written or as a voice recording.

Credits

References

Transcript

Read on for more »

The Month in WordPress: March 2021

Posted April 3, 2021 by Hari Shanker R. Filed under Month in WordPress.

This way of iterating improves WordPress and ties back to one of my favorite open-source principles. The idea that with many eyes, all bugs are shallow. To me, that means that with enough people looking at a problem, someone is bound to be able to see the solution.

These words from Josepha Haden Chomphosy on the How WordPress Improves episode of the WP Briefing Podcast point to the factors that differentiate building software in an open-source environment. Our updates this month are closely tied to the philosophy behind those core principles of open source software. 


WordPress 5.7 released

WordPress version 5.7 “Esperanza,” came out on March 9. The release offers fresher admin colors, several improvements to the block editor, single-click HTTP to HTTPS migration, and a new Robots API. Read more about it in the release post, the field guide, and the talking points post for meetup groups. The Core Team has also started work on WordPress 5.8 pre-planning.

Want to contribute to WordPress 5.8? Join the WordPress #core channel in the Make WordPress Slack and follow the Core Team blog. The Core Team hosts weekly chats on Wednesdays at 5 AM and 8 PM UTC. 

Gutenberg Version 10.1 and 10.2 are out

Contributor teams released Gutenberg Version 10.1 on March 3 and Version 10.2 on March 17.

Version 10.1 showcases significant improvements to reusable blocks, a clearer image toolbar, and spatial options for the social media block. Version 10.2 offers block pattern options to display contents from the query block and removes writing prompts from empty paragraphs in the editor. It also adds width adjustment for spacer blocks in horizontal parent blocks and the ability to transform media and text blocks into columns.

Want to get involved in building Gutenberg? Follow the Core Team blog, contribute to Gutenberg on GitHub, and join the #core-editor channel in the Make WordPress Slack. The “What’s next in Gutenberg” post offers more details on the latest updates. Don’t miss the monthly Gutenberg tutorial on How to make block patterns!

Full Site Editing updates

March saw a plethora of updates to the Full Site Editing project!

Proposal launched for a WordPress contributor handbook

A proposal has been kicked off on building a project-wide WordPress contributor handbook. The handbook will have content around the WordPress project’s underlying philosophies and commitments, along with shared expectations on working together and building products. It will also contain modern open source best practices for WordPress. 


Further Reading

Have a story that we should include in the next “Month in WordPress” post? Please submit it using this form.

So you want to make block patterns?

Posted March 30, 2021 by Beatriz Fialho. Filed under Development, Features.

If you’ve ever built something for the WordPress block editor — a theme or a plugin — you may have also heard about block patterns.

Looking at the patterns that come bundled with WordPress, I thought it would be nice to dedicate to them a short post. They’re pretty nice, useful shortcuts when you know them, but there’s a good chance you may not know what they are or why you might want to use them.

What’s a block pattern?

Patterns are collections of pre-arranged blocks that can be combined and arranged in many ways making it easier to create beautiful content. They act as a head-start, leaving you to plug and play with your content as you see fit and be as simple as single blocks or as complex as a full-page layout.

They live in a tab in the block library. You can click or drag and you’re able to preview them with your site’s styles.

Basically, a block pattern is just a bunch of blocks put together in advance:

	<!-- wp:group -->
<div class="wp-block-group"><div class="wp-block-group__inner-container"><!-- wp:separator {"className":"is-style-default"} -->
<hr class="wp-block-separator is-style-default"/>
<!-- /wp:separator -->
<!-- wp:image {"align":"center","id":553,"width":150,"height":150,"sizeSlug":"large","linkDestination":"none","className":"is-style-rounded"} -->
<div class="wp-block-image is-style-rounded"><figure class="aligncenter size-large is-resized"><img src="https://blockpatterndesigns.mystagingwebsite.com/wp-content/uploads/2021/02/StockSnap_HQR8BJFZID-1.jpg" alt="" class="wp-image-553" width="150" height="150"/></figure></div>
<!-- /wp:image -->
<!-- wp:quote {"align":"center","className":"is-style-large"} -->
<blockquote class="wp-block-quote has-text-align-center is-style-large"><p>"Contributing makes me feel like I'm being useful to the planet."</p><cite>— Anna Wong, <em>Volunteer</em></cite></blockquote>
<!-- /wp:quote -->
<!-- wp:separator {"className":"is-style-default"} -->
<hr class="wp-block-separator is-style-default"/>
<!-- /wp:separator --></div></div>
<!-- /wp:group -->

That’s also how you create them: just use the block editor to configure a smattering of blocks to your liking, and the hard part’s over.

How do I get them in the block library?

There’s more documentation in the handbook, but what it boils down to is this:

<?php 
/*
Plugin Name: Quote Pattern Example Plugin
*/

register_block_pattern(
	'my-plugin/my-quote-pattern',
	array(
		'title'       => __( 'Quote with Avatar', 'my-plugin' ),
		'categories'  => array( 'text' ),
		'description' => _x( 'A big quote with an avatar".', 'Block pattern description', 'my-plugin' ),
		'content'     => '<!-- wp:group --><div class="wp-block-group"><div class="wp-block-group__inner-container"><!-- wp:separator {"className":"is-style-default"} --><hr class="wp-block-separator is-style-default"/><!-- /wp:separator --><!-- wp:image {"align":"center","id":553,"width":150,"height":150,"sizeSlug":"large","linkDestination":"none","className":"is-style-rounded"} --><div class="wp-block-image is-style-rounded"><figure class="aligncenter size-large is-resized"><img src="https://blockpatterndesigns.mystagingwebsite.com/wp-content/uploads/2021/02/StockSnap_HQR8BJFZID-1.jpg" alt="" class="wp-image-553" width="150" height="150"/></figure></div><!-- /wp:image --><!-- wp:quote {"align":"center","className":"is-style-large"} --><blockquote class="wp-block-quote has-text-align-center is-style-large"><p>"Contributing makes me feel like I\'m being useful to the planet."</p><cite>— Anna Wong, <em>Volunteer</em></cite></blockquote><!-- /wp:quote --><!-- wp:separator {"className":"is-style-default"} --><hr class="wp-block-separator is-style-default"/><!-- /wp:separator --></div></div><!-- /wp:group -->',
	)
);

?>

👆 That’s a snippet of PHP, which means you can drop it in a WordPress plugin, or perhaps more simply, paste it into the functions.php file from your theme. Done:

For patterns that include images, it’s worth thinking about where those are stored. The TT1 Blocks theme (which is a fancy name for “TwentyTwentyOne Blocks”) stores images in the theme library.

Now what?

The thing about a block pattern is, as soon as you insert it from the block library, it stops being a cohesive unit — now it’s just a smattering of blocks, detached from the pattern you created and meant to be customized to your liking. It’s a shortcut, not a template. That also means you don’t have to worry about switching themes or deactivating pattern plugins: the blocks you already inserted won’t go anywhere.

That being said, if you like this one pattern so much you want to use it again and again, with no customization at all, you can make it into a reusable block:

Reusable blocks are created, as the name implies, to be reused. The feature is a great way to store small bits of commonly used snippets that you can edit in one place to update in all. “Follow me on Twitter,” “Article series, or “Subscribe to my podcast” are great examples of that.

What makes a good block pattern?

Patterns, as they ship today, are limited by the features available. If the block editor doesn’t allow you to customize letter-spacing, your block pattern can’t either. While the Global Styles project will expand what’s to blocks, in the meantime, we have to work with the available tools.

Even then, with the most basic ingredients — color, photography, typography — it is possible to do a lot:

Three columns with images and text
Media and text with image on the right

I designed these patterns to potentially land in WordPress core, which all have a few properties in common:

They share a theme.

You can think of a pattern as a section of a website: it is meant to be part of a whole, and so it works best when it can exist in the context of other patterns that share the same theme. There are a few sharing a Nature theme in the patterns above, a few sharing an Art theme, and others sharing an Architecture theme. When seen together, it becomes easier to see how you might be able to piece together multiple pages of your site, one page at a time.

They share a minimalist color palette.

By being parts of a whole, patterns will inevitably land in a context that uses different colors. With a reduced color palette, there’s both a better chance of fitting in and less to customize to make it just right.

The best patterns do things you might have not done otherwise.

Whether that’s images offset to create a unique silhouette, or just using less visible features (like fixed positioning in the Cover block), it’s a way to surface creativity.

Tip: You can use any block in your patterns, including blocks that came from a plugin. And if that block is in the block directory, it will prompt you to install it with one click if it’s missing from your self-hosted WordPress:

Here’s a plugin for you

<?php 
/*
Plugin Name: Quote Pattern Example Plugin
*/

register_block_pattern(
	'my-plugin/my-quote-pattern',
	array(
		'title'       => __( 'Quote with Avatar', 'my-plugin' ),
		'categories'  => array( 'text' ),
		'description' => _x( 'A big quote with an avatar".', 'Block pattern description', 'my-plugin' ),
		'content'     => '<!-- wp:group --><div class="wp-block-group"><div class="wp-block-group__inner-container"><!-- wp:separator {"className":"is-style-default"} --><hr class="wp-block-separator is-style-default"/><!-- /wp:separator --><!-- wp:image {"align":"center","id":553,"width":150,"height":150,"sizeSlug":"large","linkDestination":"none","className":"is-style-rounded"} --><div class="wp-block-image is-style-rounded"><figure class="aligncenter size-large is-resized"><img src="https://blockpatterndesigns.mystagingwebsite.com/wp-content/uploads/2021/02/StockSnap_HQR8BJFZID-1.jpg" alt="" class="wp-image-553" width="150" height="150"/></figure></div><!-- /wp:image --><!-- wp:quote {"align":"center","className":"is-style-large"} --><blockquote class="wp-block-quote has-text-align-center is-style-large"><p>"Contributing makes me feel like I\'m being useful to the planet."</p><cite>— Anna Wong, <em>Volunteer</em></cite></blockquote><!-- /wp:quote --><!-- wp:separator {"className":"is-style-default"} --><hr class="wp-block-separator is-style-default"/><!-- /wp:separator --></div></div><!-- /wp:group -->',
	)
);

?>

In case you want to make patterns, this example plugin features two of the patterns you saw above. Drop it in your plugins folder and they should show up in your block library.

Installed pattern under “Text” Category

Feel free to tweak it, customize it, and make it yours. It’s GPL, after all!


Thank you @joen for the help writing this post.

Older Posts »

See Also:

Want to follow the code? There’s a development P2 blog and you can track active development in the Trac timeline that often has 20–30 updates per day.

Want to find an event near you? Check out the WordCamp schedule and find your local Meetup group!

For more WordPress news, check out the WordPress Planet or subscribe to the WP Briefing podcast.

Categories

Subscribe to WordPress News

Join 1,932,236 other subscribers

%d bloggers like this: