WordPress Planet

March 06, 2022

Gutenberg Times: Gutenberg Changelog #62 – Gutenberg 12.7, a New Call for Testing, the Web Fonts API Arrival

In this episode, Birgit Pauli-Haack and Mary Job discuss Gutenberg 12.7, a new call for testing and the web fonts API arrival.

Show Notes / Transcript

Subscribe to the Gutenberg Changelog podcast via your favorite podcast apps!
🎙️ Spotify | Google | iTunes | PocketCasts | Stitcher |
🎙️ Pod Bean | CastBox | Podchaser | RSS Feed 

Show Notes

FSE Program Testing Call #12: Hyping Headers

Gutenberg Developer Hours in March

Core Editor Improvement: Choose your Style

Gutenberg 12.7

Web Fonts API

Stay in Touch

Transcript

The transcript is in the works…

by Birgit Pauli-Haack at March 06, 2022 01:18 AM under Gutenberg

March 05, 2022

Gutenberg Times: Block Editor: Kid tested, – Custom posts and FSE and Gutenberg 12.7 – Weekend edition #205

Howdy,

It’s astonishing how the WordPress community comes together to support people in need and despair. You do what you can with the means you have. The article by Sarah Gooding lists many initiatives you can support to help people in Ukraine and its refugees. Don’t overlook the comments either.

I hope you can pull yourself away from the doom scrolling on Twitter and other sites, and distract yourself from the horrifying updates by reading through this newsletter. There is also wonderful work being done on Gutenberg and the block editor. And don’t forget to check out the upcoming events in WordPress Social Learning Space below.

Yours, 💕
Birgit

PS: If you are a developer, I hope to see you at the next Gutenberg Developer Hours on March 8th 11:00 ET / 16:00 UTC withe fabulous Tammie Lister, Fabian Kägy, and Grzegorz Ziolkowski as expert panelists.

Gutenberg 12.7 release

Carlos Bravo spearheaded the plugin release and in his notes What’s new in Gutenberg 12.7? (2 March) he highlighted:

There are also some change to data-align and div tags from blocks that might need adjustments from Theme developers (again)

Justin Tadlock put it out for a spin Gutenberg 12.7 Adds Multi-Block Selection in List View and Brings Margin Support to Group Blocks

🎙️ New episode: Gutenberg Changelog #62 – Gutenberg 12.7, a New Call for Testing, the Web Fonts API Arrival with co-hosts Birgit Pauli-Haack and Mary Job

Block Editor for content creators and #nocode site builders

Eric Karkovack shared in his interview with Bob Dunn on the Do-the-Woo Podcast, the story of his 12-year-old daughter getting acquainted with WordPress. After a couple of minutes of instructions, the dad was sent away: “Dad, you can go now. I’m fine.” When Eric came back an hour later, and she’s already got it figured out. The Block Editor: Kid Tested


Earlier this year, Google updated the Material Design plugin, to enabled Using Block Patterns with Material Design for WordPress. It’s the accompanying plugin with blocks for the Material Design Theme, a classic theme.

In this post, Eric Karkovack takes you with him Exploring the WordPress Block Pattern Directory. Learn how do you navigate the directory, how do you preview patterns and how to add them to you website.


 “Keeping up with Gutenberg – Index 2022” 
A chronological list of the WordPress Make Blog posts from various teams involved in Gutenberg development: Design, Theme Review Team, Core Editor, Core JS, Core CSS, Test, and Meta team from Jan. 2021 on. Updated by yours truly. The index 2020 is here

53 Block Themes in WordPress Directory

Today’s count of Block Themes for Full-site Editing is 53.

A new theme by Brian Gardner, called Avant-Garde is now available in the WordPress repository. “An experimental block theme for those who love simplicity”

Vikas Singhal, builder of themes at announced the update for their Gutena Block Theme, with additional block patterns.

Block and Theme Building

In this week’s Twitch Stream, Ryan Welcher covered Integrating a custom post type into Gutenberg and Full Site Editing.


In her post Core Editor Improvement: Choose your Style, Anne McCarthy introduces us to the new feature of having multiple set of Global Styles with your theme. Now site owners can switch out color schemes and overall font styles without having to change themes or worry about losing content. McCarthy also shared links to documentation and examples.

Need a plugin .zip from Gutenberg’s main (trunk) branch?
Gutenberg Times provides daily build for testing and review.
Have you been using it? Hit reply and let me know.

GitHub all releases


Learn how to add a Color Palette with ACF custom blocks with Bill Erickson with code examples and variation for different use cases. “When registering a new block with acf_register_block_type(), you can use the ‘supports’ array to specify which block editor features this block supports.” Erickson wrote.


Ben Dwyer, theme wrangler on the Themes team, shared a few Block Theme Building Tips on ThemeShaper. They range from avoiding using CSS, to reusing patterns, and theme.json over block settings.


In her post, WordPress Design Share, Channing Ritter shared what the design team has been working on
🎛️ Site Editor navigation –
🖼️ Cover block and how to place layers options
🔓 User-level Block Locking
📒 Documentation and more

Most is still work in progress and could use your review and input. Check ’em out!


Jason Bahl, founder and maintainer of WPGraphQL plugin succeeded in Adding End 2 End Tests to WordPress plugins using wp-env and wp-scripts and shared how he did it. It’s an in depth look at configuration and execution of e2e testing with WordPress native tools. Bahl also posted an accompanying video on YouTube


Andrew Serong, published on BuildBetterBlock.com the article Block supports, global styles, and work to consolidate style generation in Gutenberg. It’s an in-depth look into the Gutenberg codebase and the discussions happening around Styles, themes and user options. Serong has been working actively on the new Style Engine project, and this is a great report on the current stage of the work.


Last year, Helen Hou-Sandí wrote a tutorial on “Updating a WordPress plugin with a publish metabox field for the block editor”. It a great real life use case on adopting development for the block editor one metabox at a time.


WordPress Social Learning Events


March 8, 2022, at 11:00 AM ET / 16:00 UTC
Gutenberg Developer Hours with Fabian Kägy, Tammie Lister and Grzegorz Ziolkowski

March 10, 2022 at 10:30 am ET / 15:30 UTC
Honey, I Broke My Website! What To Do When Site Editing Goes Wrong with Sarah Snow

March 10, 2022 at 12 pm ET / 17:00 UTC
Builder Basics: Designing with Columns, Group, and Row Blocks with Nick Diego

March 15, 2022 at 9:30 am ET / 14:30 UTC
Beginner’s Guide to Full Site Editing with Sarah Snow

March 22, 2022 at 3 am ET / 8:00 UTC
Intro to Theme Blocks with Wes Theron

March 23, 2022 at 1pm ET / 18:00 UTC
Builder Basics: Exploring Block Layout, Alignment, Dimensions, and Spacing with Nick Diego

March 28, 2022 at 11 am ET / 16:00 UTC
Hello Blocks! Coding a custom block with Wes Theron and Ryan Welcher

March 29, 2022 at 3 pm ET / 20:00 UTC
Beginner’s Guide to Full Site Editing with Sarah Snow


Don’t want to miss the next Weekend Edition?

We hate spam, too and won’t give your email address to anyone except Mailchimp to send out our Weekend Edition

Thanks for subscribing.

by Birgit Pauli-Haack at March 05, 2022 06:26 AM under Weekend Edition

WPTavern: Play the Piano and Other Instruments via the WordPress Block Editor

Tetsuaki Hamano released the Piano Block plugin for WordPress on Monday. It allows users to insert a piano-based interface into the editor for playing music. Mostly, it is just a lot of fun.

Hamano launched RichText Extension, his first submission to the WordPress plugin directory, in the spring of 2020. At the time, block-related plugins were still scarce, but he has continued contributing extensions since that initial release. Flexible Spacer Block is invaluable for responsive vertical spacing. Flexible Table does the same for table elements, and his Custom HTML Block Extension is handy for anyone writing code regularly from the editor.

While his previous outings covered several vital features for different user groups, his latest is a bit more on the lighter side of things. More than anything, it serves as a brief distraction, a way to break up the day for people who spend a lot of time in the WordPress content editor.

One thing that I love about blocks is that they do not have to serve a vital function in producing content for a site. Sometimes, their purpose is to simply bring a little joy into our lives. That is what Piano Block does.

Hamano noted in the plugin description:

This plugin does not add any useful features to WordPress, nor does it add any useful blocks to help you write posts. Let’s insert this block and enjoy the music if you are stuck in writing an article or just want a little distraction.

The plugin merely adds a web-based musical instrument to the block editor, offering a change of pace from building content. It does not appear on the front end of the site.

Piano Block in the editor.

The block offers a range of 14 instruments. The default is an acoustic piano, but users can switch between various keyboard, string, brass, and woodwind options. Plus, there is a xylophone.

Users can move up or down two octaves, change the volume, or toggle the sustain pedal on and off. Other than that, there are no other block-specific options.

The block’s keyboard mapping threw me off at first. I peeked under the hood and found the JavaScript code for assigning each key. I was tempted to clone the plugin’s GitHub repository, set up the build tools, and customize it. However, that seemed like a lot of work for a block meant to be a momentary distraction. It was not time for me to put on my developer hat.

So, I tickled the plastic keys of my laptop, trying to rewire my brain to a layout that did not match an actual piano. I just had fun with it, and that is kind of the point.

I rarely record videos, being much more comfortable tapping my laptop’s keys than doing anything on camera. Therefore, Tavern visitors are in for something of a treat today. I put together a short clip of me playing a song via the Piano Block:

That was tougher than it looked with the keys in odd places. Apologies if I missed any notes or lines. It has been a while since I have heard Twinkle, Twinkle, Little Star. I believe it goes a little something like that.

I am continually amazed at what some developers create on top of the block system. More than anything, I want to see some of the talented musicians in the WordPress community — I know some of you are out there — record themselves playing something with Piano Block. A little jazz, perhaps?

by Justin Tadlock at March 05, 2022 01:03 AM under Plugins

March 04, 2022

WPTavern: WordPress 6.0 to Introduce Performance Improvements for Custom Pages

WordPress core committer Jonny Harris merged a patch into WordPress core for a 12-year-old ticket that he says has the potential to bring “a massive effect on performance for custom pages.” The change, which will be included in the upcoming 6.0 release, stops unnecessary queries when developers are using the do_parse_request filter, thanks to a refreshed patch from contributor Paul Bearne.

Harris summarized the problem and how the change improves performance in the commit message:

Developers of plugins and themes can use the do_parse_request filter to hot-wire requests and hook in early to render custom pages. However, even through these request may not need post queries and 404 lookups to be run, they run anyway. This can results in unnecessary SQL queries running on these requests. By adding a return value to the parse_request method of the WP class, these queries can now be skipped.

WordPress core contributor Konstantin Kovshenin detailed the need for this change in a Twitter thread he published in 2021, when soliciting help for the ticket:

Harris performed a quick review of plugins that use the filter and said he does not anticipate breakages. The search found 133 plugins using the filter. Some of the most popular ones include Google’s Site Kit plugin (1M+ installs), The Events Calendar (800K installs), and AMP (500K installs). Harris suggested the change requires a dev note, as it may have unanticipated side effects. The dev note is likely to be published closer to the time of release. WordPress 6.0 is currently scheduled for release on May 24, 2022.

by Sarah Gooding at March 04, 2022 11:52 PM under WordPress

WordPress.org blog: WP Briefing: Episode 26: Matt Mullenweg on Ukraine, Community, and WordPress

Matt Mullenweg speaks to WordPress contributors worldwide on this special edition of the WP Briefing podcast with Josepha Haden Chomphosy. Join us to hear Matt’s thoughts on Ukraine.

Have a question you’d like answered? You can submit them to wpbriefing@wordpress.org, either written or as a voice recording.

Credits

How You Can Help

UNICEF

Médecins Sans Frontieres 

International Committee of the Red Cross 

International Rescue Committee

UN Refugee Agency 

World Central Kitchen

Tech For Ukraine

#WP4Ukraine

Transcript

Josepha Haden Chomphosy  00:00

Hello, everyone, and welcome to a special edition of the WordPress Briefing. I have Matt here with me today because we want to acknowledge that we are once again at the start of a very difficult time. Neither of us would presume to know what it’s like to be at the heart of such massive disruption in our lives. But who would we be if we didn’t stop and check in with you all, the project that we hold so dear? And with that, I’ll hand it right over to you, Matt.

Matt Mullenweg  00:27

Hello everyone. First, I want to thank Josepha for inviting me to join the WordPress Briefing to share what’s been on my mind in light of recent global events. 

Matt Mullenweg  00:37

I’ve been listening and watching events escalate in Ukraine, often in a state of shock. The scale alone is hard to take in. I mean, in the last 7 days, more than 500,000 people have fled their homes, more refugees are expected every day. The downstream humanitarian crises of the invasion are unimaginable.  

Matt Mullenweg  00:56

And seeing destruction in the world we live in is confusing, disconcerting, and difficult. In my experience, open source and WordPress bring people together; people from other countries and cultures, people that we know as friends and colleagues. Technology connects us, regardless of where we are. Nothing can negate the bad things happening in the world, but when I see how this community of contributors collaborates, regardless of borders, you all remind me of the good in the world every day.

Matt Mullenweg  01:30

I firmly believe that the web can be an equalizer and a force for good in the world. To me, the WordPress project is the epitome of goodness—everyone has a voice, a platform, and a community. You have the power to make your corner of the world, and the web, a sanctuary for those who need it—especially now.

Matt Mullenweg  01:45

If you or someone you know is affected by this war, I encourage you to be present as the ramifications unfold. While we may all feel fatigued and have a sense of languishing from the past two years of the Covid pandemic, the gift of time and support for one another cannot be overstated. I’m confident that every single person in the WordPress community will approach the situation in Ukraine with sensitivity and understanding. 

Matt Mullenweg  02:07

I invite you to join me in standing with those in the world working to end conflict and working toward a world of peace, promise, and opportunity. If you’re looking for a way to help support the humanitarian crisis in Ukraine, I will offer some suggested NGOs, or Non-Governmental Organizations, that provide assistance to local peacebuilders in the region. 

Matt Mullenweg  02:26

In closing, please know that my thoughts are with everyone in our community. I know that my words here can’t change anything there, but I hope that we all remember that words of support are never unwelcome. And we can never know when a little human kindness can help someone share the invisible heaviness in their heart. 

Josepha Haden Chomphosy  02:44

Thanks for that, Matt. My friends, there are links in the show notes to some of the groups that Matt referenced. And that is it for this special edition of the WordPress Briefing. I’m your host, Josepha Haden Chomphosy. Be safe, be kind to yourself and others, and I’ll see you again in a couple of weeks.

by Chloe Bringmann at March 04, 2022 09:39 PM under wp-briefing

WordPress.org blog: The Month in WordPress – February 2022

There’s a lot going on in the world right now, and safety is top of mind for everyone in the WordPress community. If you don’t know where to begin, or how to support your peers, Executive Director Josepha Chomphosy’s advice to the global community is to start small. 

Overall, February has been a busy month for WordPress. To begin with, it was thrilling to see the enthusiasm for the release of WordPress 5.9 Joséphine from January continue last month, and that’s not all. 

We have many exciting updates to share, so keep reading to learn about the latest achievements from the WordPress community.


WordPress 6.0: May 24, 2022 is the proposed release date

Gutenberg releases: Versions 12.5, 12.6, and 12.7 were released

The Core Team launched three new versions of Gutenberg last month. All come with new features, code quality improvements, and bug fixes.

  • Gutenberg 12.7 is available to download. This version improves the Patterns experience, allows you to add border styles to column blocks, and includes other new features.
  • Gutenberg 12.6 was launched on February 16, 2022. This release includes a new color panel, updated color controls, a new Post Author Biography block, Read More block, and plenty of other exciting updates!
  • Gutenberg 12.5 was released on February 2, 2022. This version allows switching theme styles variations, custom taxonomies filtering, and more.

WordPress News gets a new look

The redesign of WordPress News, which was first announced by Matt Mullenweg, Co-Founder of WordPress, in State of the Word 2021, went live on February 16, 2022.

Team updates: #WP Diversity, a new blog for developers, and more

  • The #WPDiversity working group, which is part of the Community Team, hosted an open Zoom meeting with volunteers on February 23, 2022. If you’re interested in contributing, read the recap of the meeting to view available roles. 
  • The Core Team shared a proposal to start a blog on developer.wordpress.org to share news and updates relevant to developers. 
  • The first Gutenberg Developer Hours session hosted on February 8th by the Core Team was successful. Head over to this page to learn more about the participants’ feedback.
  • The Core Team published “Feature Project: Plugin Dependencies,” where they identified the problems with plugin dependencies and suggested potential solutions to improve the plugin experience.
  • The WordPress Photo Directory has a new Make team. There is currently an open call for team reps and collaboration is happening at the new #photos channel of the Make WordPress Slack.
  • The Polyglots Team shared a proposal for a milestone template for the Polyglots Locale Teams.
  • The Community Team published a proposal for refurbishing camera kits.
  • The Global Community Sponsors for 2022 have been announced.
  • The February 2022 edition of the monthly Meetup Organizer Newsletter has been published.
  • The latest edition of People of WordPress highlighting Tonya Mork was published on February 28, 2022. Read Tonya’s story to learn more about how WordPress helped her find herself again after a health crisis. 
  • The February 2022 edition of the Polyglots Monthly Newsletter has been published.

Feedback/Testing requests: WordPress iOS 19.3 and Android 19.3

WordCamp Europe 2022 announces steps to ensure a diverse, inclusive, and welcoming event


Have a story that we could include in the next ‘Month in WordPress’ post? Let us know by filling out this form.

The following folks contributed to December 2021’s Month in WordPress: @anjanavasan @harishanker @rmartinezduque @mysweetcate

by Anjana Vasan at March 04, 2022 05:40 PM under the month in wordpress

WordPress Foundation: How is open source software good for business?

In the late 1970s, staff programmers at the Massachusetts Institute of Technology sparked a movement. Little did they know that a jammed printer would lead to the beginning of an era: the free software movement. 

If you’ve ever heard the phrase, “free as in freedom, not beer,” this is what it means:

“Free software” means software that respects users’ freedom and community. Roughly, it means that the users have the freedom to run, copy, distribute, study, change and improve the software. Thus, “free software” is a matter of liberty, not price. 

The GNU Project and Free Software Foundation

The WordPress Foundation’s philosophy requires that all projects and software we support be licensed under the GNU Public License, a free, copyleft license—this is intentional. If you mistakenly think open source has no place in business purely because there’s no monetary value attached to the software, we urge you to think again.

The path to innovation and progress

Open source software offers a low-cost entry to the market and paves an efficient way for innovation. These projects harness the power of diverse knowledge, skills, and community to create the best software. But what does this mean for businesses? 

“Companies who wish to create wealth are always interested in productivity. Productivity includes being able to innovate effectively […] Effective innovation is not merely being able to invent and improve, but also being able to determine what to invent and how to improve,” said Richard P. Gabriel and Ron Goldman

Most individuals recognize Apple as an innovative and successful technology company. However, few people outside the developer community may know MacOS X was based on Darwin, an open source project. Many of Apple’s platforms draw inspiration from open source, and plenty of other companies have done the same.

With open source software, organizations have access to the latest updates and bug fixes, thanks to frequent and reliable releases. Put simply, building on that existing work rather than reinventing the wheel puts them on the fastest path to creating a better product for their customers. 

Moreover, business strategies based on open source can level the playing field. Small organizations that rely on open source projects for their products can leverage ubiquity to build brand equity, as Gabriel and Goldman explain. This makes the companies more trustworthy to the customer, allowing them to compete fairly with organizations with extensive resources. There’s also a low risk of the software being discontinued and affecting the business. Even if the original programmers leave the project, the maintenance and development of open source software will go on.

We’re only scratching the surface of how open source software is good for business. The reality is that the work done in open source projects benefits the society at large—they help create a better world through technology. The best way businesses can support that future is by adopting open source technologies and contributing to such projects. 

by Anjana Vasan at March 04, 2022 04:51 PM under open source

Post Status: Post Status Notes #488

Core releases. Static robots.txt for faster load time. Self-care. Health check. Which metric is lying to you? Dev notes and bottom lines.

Core Concerns

A WordPress 5.9.1 Maintenance Release is out, so make sure your sites are updated. There are quite a lot of bug fixes in this release — over 80!

.kt-block-spacer-_6ce750-54 .kt-divider{width:80%;}

Gutenberg 12.7 has been released. Patternmaking is easier to discover now. There are some list view improvements and smaller enhancements, bug fixes, and new APIs.

.kt-block-spacer-_7d20e5-16 .kt-divider{width:80%;}

Jonny Harris announced that he has merged a patch into WordPress core for a 12-year-old ticket that “could have a massive effect on performance for custom pages.”

Konstantin Kovshenin explained how this works with an example on Twitter back in December 2021: “To display the default robots.txt, [which is not static] a fresh WordPress install will run 15 SQL queries” and trigger over “42,000 function calls at 5.46 megs peak memory, about 100 ms wall time.” (Wall time is the actual duration elapsed, possibly beyond CPU time due to disk access.)

.kt-block-spacer-_6633c3-86 .kt-divider{width:80%;}

Self and Health Checks

Josepha Haden Chomphosy says when it comes to supporting your community, “start small” and realize that “you do not personally hold all the responsibility for ‘making things work' today.”

Josepha is also featured in a recent Automattic Women post sharing what a typical day for her is like and what drew her to Automattic. Notably, Josepha is identified as “community steward” instead of “Executive Director” of WordPress (.org). We haven't seen that before, but it appears on the WordPress Foundation's profile at GuideStar.

.kt-block-spacer-_2e42d6-19 .kt-divider{width:80%;}

Tonya Mork talks about some personal and health challenges in her life and how WordPress helped her “find [herself] again.” Tonya was both the Core Tech Lead and the Release Coordinator for WordPress 5.9, and now she is moving on to new adventures — in teaching.

“I’m on a mission to give back and make a difference. Teaching is how I will do it.”

.kt-block-spacer-_4ab30a-66 .kt-divider{width:80%;}

Plugin Updates

Marius Jensen says the Health Check plugin — which he has maintained since 2017 — needs updating. He shares some possible solutions for the need to maintain backward compatibility and feature parity between WordPress core and Health Check.

.kt-block-spacer-_05c5f6-12 .kt-divider{width:80%;}

WPExperts has acquired the Post SMTP plugin from its former developer, Yehuda Hassine. Sarah Gooding covers the story and notes that current users “can expect development and support from a much larger team of professionals, as well as new commercial add-ons in the near future.”

.kt-block-spacer-_9d5956-27 .kt-divider{width:80%;}

WP Concern has acquired WebFactory‘s Coming Soon & Maintenance Mode Page plugin. This is the seventh acquisition we've heard of this year.

.kt-block-spacer-_a6377d-f0 .kt-divider{width:80%;}

Dev Notes

Julia Evans compiled a list of responses she got on Twitter to the question of what in programming used to be hard but now is “easy.” If you've been in programming and tech long enough, this is a fun trip down memory lane — if you don't mind feeling old.

.kt-block-spacer-_af6f6c-23 .kt-divider{width:80%;}

Rebecca Monteleone and Jamie Brew explore what makes writing more readable and how algorithms try to assess readability. They feel it's a “real possibility that plain language will be outsourced to blackbox technologies that are grounded in antiquated data,” which will hurt accessibility:

“Ultimately, the effectiveness of plain language translations comes down to engagement with your audience. Engagement that doesn’t make assumptions about what the audience understands, but will instead ask them to find out. Engagement that’s willing to work directly with people with disabilities or limited access to education, and not through intermediaries. As disabled advocates and organizations led by disabled people have been saying all along: “Nothing about us without us.”

.kt-block-spacer-_7f4275-03 .kt-divider{width:80%;}

Bottom Lines

Jason Cohen, CTO of WPEngine, offers a reliable way to check for bad data and misleading metrics that impact your bottom line: look at more than one indicator and ask “Who's lying?”

“If a metric is important enough to watch it every day, and to act if its behavior deviates from expectation, then it’s important enough to be double-checked. Both for accuracy, and for completeness of comprehension.”

.kt-block-spacer-_c41b07-a1 .kt-divider{width:80%;}

Does the existence of “developer pricing” mean developers are cheap? Developers are cheap says Keith Casey, but that's not why developer pricing is needed. “The real purpose of developer pricing is to let developers build without doing paperwork.

.kt-block-spacer-_45b7ef-47 .kt-divider{width:80%;}

Is it time to raise your rates due to inflation? Rob Howard thinks so, but he also says there's a right way to do it. You can offer updated rates to new clients who are probably seeing inflation-related price increases everywhere and raising their own rates.

.kt-block-spacer-_da9ec0-b3 .kt-divider{width:80%;}

Ryan Breslow started a worthwhile Twitter thread with the assertion that “Shopify is eating their ecosystem.” Shopify has become the second biggest CMS and the biggest competitor to WooCommerce. Ryan takes a look at Shopify's tactics for growth and how it's treating its developers.

.kt-block-spacer-_ccf749-3c .kt-divider{width:80%;}

Tom Willmot, co-founder and CEO of Human Made, shares how the company did in 2021: 25% employee growth with almost 100 employees, 3 clients with $50B+ in revenue, and growth for the AltisDXP digital experience platform. Not too shabby!

.kt-block-spacer-_c0ffd5-6d .kt-divider{width:80%;}

For a digest of everything happening in core this week, see This Week at WordPess.org for February 28.

.kt-block-spacer-_b8111b-be .kt-divider{width:80%;}

by David Bisset at March 04, 2022 06:59 AM under Week In Review

Post Status: Who Uses WordPress Multisite?

WordPress Multisite isn't for everyone. Two of our oldest and still popular posts are about not using Multisite. One is about how to disable Multisite when you decide to quit using it after it's been active. Another explains when to use it and when not to. Sometimes “Minisite” is what you really want instead, a still under-supported concept in WordPress. But when the suggestion to “kill” Multisite was floated recently, its users came out in force to defend it.

While this conversation was happening in the WordPress community, David Bisset asked on Twitter and Post Status Slack how people use or have seen WordPress Multisite being used. Of course, there's WordPress.com and WordCamp.org. We've written about the Modern Language Association‘s Humanities Commons in the past.

The responses that rolled in illustrate how diverse Multisite's use-cases can be

by Dan Knauss at March 04, 2022 06:31 AM under Planet

WPTavern: Gutenberg 12.7 Adds Multi-Block Selection in List View and Brings Margin Support to Group Blocks

Another two weeks have flown by, and another Gutenberg plugin update is in the books. This release is not as feature-heavy as the last, but it feels solid overall. Other than one breaking issue, version 12.7 includes several nice-to-have enhancements.

The latest update includes some early work for a new style engine. This is a longer-term project that should improve saving and rendering block styles.

The template and site editors should surface patterns over blocks in the quick inserter under certain conditions, such as at the root level of a template. However, I was unable to see this in action. I may need to refresh my install.

The Columns block also supports border width, style, color, and radius options. I look forward to this eventually being the case for all blocks.

Multi-Select in List View

Selecting multiple blocks in the list view.

Users can now select multiple blocks in the list view when the Shift key is selected. Once holding the key, users can use the mouse to click on others, adding or removing them. The up/down arrow keys are an alternative to using the mouse.

The enhancement also allows users to drag and drop the selected group of blocks.

Broken Images

Image from pattern not responsive.

I let my guard down. I became comfortable with WordPress and Gutenberg handling some of that foundational CSS work I had always included in past themes. Things seemed to be going so well.

Gutenberg, you and I had a sweet streak going where you did not break anything. Now, it is time to reset the ol’ “releases without incident” counter.

Previously, the default block library stylesheet provided baseline responsive styles for images. That CSS now only targets <img> tags if they include wp-image- in a class. This is particularly problematic for images in some block patterns. The case may be the same for other image instances.

The previous selector was overly broad and broke images in third-party plugins.

The best course of action is for theme authors to include the following CSS for images:

img {
    max-width: 100%;
    height: auto;
}

Group Block Margins

Adding extra top margin to a Group block.

Customizing margins is almost synonymous with the term “web design.” The Group block — the flagship container — has lacked support for margin control until now. Some have gotten around this limitation by using a Spacer, but it only increases the space between blocks.

Most issues have been around reducing margins. Theme designers have often needed to employ workarounds, a problem Nick Diego mentioned in the ticket:

Theme developers (myself included) are resorting to “magic classes” to zero out, or modify, margins on blocks. Allowing themes to opt-in to Group margin support will provide greater flexibility and decrease the reliance on custom CSS/classes in the theme’s stylesheet.

Margin support is still missing for many other blocks, including paragraphs. Users can always wrap them within a Group and modify it for now.

Block Transformations Maintain Classes

Custom block style class maintained when transforming a block.

Gutenberg 12.6, released two weeks ago, saw much work on improving the block transforms, a feature that allows users to switch one block to another. One of the primary improvements in the previous update included maintaining font size and color options.

Version 12.7 adds custom CSS classes to the mix. This includes those users added manually and those added by the custom block styles mechanism.

The upside of maintaining custom block style classes is that the new block keeps the selected style if supported. The downside is that it becomes a junk class if not.

There are still some missing options that I would like to see maintained through transforming text-based blocks. In particular, keeping the text alignment the same would help with my workflow.

Themes Can Register Patterns from the Directory

Inserting a registered pattern into the editor.

Gutenberg 12.7 allows theme authors to load patterns from the WordPress.org pattern directory for their users. Those added will appear in their respective categories in the inserter.

Currently, there is no method for highlighting the selected patterns, and they will only appear based on the order they were registered. Unfortunately, featured patterns from WordPress.org appear higher on the list, even if they were not selected by the theme.

This is a solid first iteration. Getting it in now will allow theme authors to provide feedback and contributors to build upon the foundation.

The theme.json how-to guide includes new documentation for registering these patterns.

Alignment Wrappers Removed

It is no secret that I am a block fanboy. However, there has been one longstanding issue that has almost made me want to ditch the system. Actually, I quit developing a free block theme altogether last year in large part because of this problem.

Gutenberg 12.7 removes the extra <div> wrapper for wide and full-width blocks in the editor, at least for themes that support the layout feature. This wrapper element created a conflict between the back and front-end designs previously. In some cases, theme authors couldn’t style them consistently.

For example, if a theme author wanted to give extra spacing to a sibling block (one that follows another), it was impossible to target it in the editor with CSS. The additional wrapper meant they were no longer siblings in the document structure.

The more recent blockGap feature, introduced in WordPress 5.9, alleviated spacing-related issues to some degree. It was enough relief to tolerate the broken system, knowing that some designs were still impossible.

Today marks the start of a new world of possibilities for designers. This is one roadblock I am happy to see left behind. For the most part, I just want to revisit and implement several old ideas.

by Justin Tadlock at March 04, 2022 02:28 AM under gutenberg

March 03, 2022

Post Status: Podcast and Video Picks for the Week of February 28

My Podcast Picks

Videos of the Week

  • Torque Social Hour: Yours truly (David Bisset) joined Chris Wiegman and Doc Popular to talk WordPress multisite and some upcoming events you ought to know about.
  • Jamie Marsland shows off a new block theme from Rich Tabor called Wabi.

by David Bisset at March 03, 2022 10:01 PM under Week In Review

WPTavern: How the WordPress Community Is Supporting Ukraine’s Resistance Against Russian Invasion

While Russia is decimating Ukrainian cities in an unlawful attempt to occupy the country, WordPress companies and individuals are seeking ways to help refugees fleeing the violence, as well as those who have stayed behind to fight.

We are living in one of those rare times in history where events have captured the attention and hearts of people around the world, with a powerful unifying force. In the face of such unmitigated hostility and injustice, many feel helpless to make a difference, but the WordPress community is finding creative ways to support the brave efforts of the Ukrainian people.

After identifying an attack on Ukrainian universities’ websites that coincided with Russia’s invasion, Wordfence announced it has enabled its real-time threat intelligence for more than 8,000 of its users on the Ukrainian .UA top-level domain (TLD) until further notice. Ordinarily, this is a paid feature. It includes a commercial-grade IP blocklist, real-time firewall rules, and real-time malware detection.

“This is the first time in the history of our company that we are taking this action,” Defiant (makers of Wordfence) CEO Mark Maunder said. “We are doing it as a response to the crisis that has unfolded in Ukraine.”

Servebolt, a company that hosts WordPress sites, among other platforms, has offered free hosting to anyone working to help the Ukrainian people.

In one extraordinary individual effort that raised €3500, mainly from the WordPress community, Ines van Dijk, a mother of three, living in the Netherlands, drove 2500 km to Poland to donate items and chauffeur refugees.

“Many, many people have been displaced”, she said. “I am unable to sit with that quietly and do nothing, so I decided to rent a van, load it up with things refugees might need, and drive to Poland.”

She collected bags of clothing and blankets, personal items, bought food and water, and transported it to refugees in Poland.

One week after Russia began its invasion of Ukraine, more than a million people have fled the country in what the United Nations is calling the swiftest refugee exodus this century. Meanwhile, many have chosen to stay behind and some Ukraine-based companies are struggling to stay in business while sheltering for their lives.

Crocoblock, a company with plugins on WordPress.org as well as commercial products, is made up of a 40+ person team of Ukrainians.

“Our team is located in three cities (Mykolaiv, Lviv, Kyiv),” Crocoblock Partner Manager Lana Miro said in an update on Post Status Slack. “We are safe, working somehow. Some stay in basements, some stay in apartments (and use the bathroom during air alarms). Our mood is optimistic and we believe/help our army. Thanks everyone for your support and everything will be fine.”

Crocoblock has updated the banner on its site, which links to a donation page for the Ukrainian Army. The banner references the last words of Ukrainian soldiers who were believed to have died defending Snake Island in the Black Sea. They may have been illegally captured by Putin’s forces but this has not yet been confirmed. Their brave last words have become a rallying cry, echoing the sentiments of pro-Ukrainian supporters around the world.

Paid Memberships Pro CEO Jason Coleman has written a tutorial on how internet businesses can find their Ukrainian customers and email them to see how they can be of help. There are specific instructions in the article for those using the PMPro plugin can on how they can find users with a Ukrainian billing address, Ukrainian email addresses, or Ukrainian websites. It is also more broadly applicable to those using other CRM or e-commerce software solutions.

The team at Codeable, a WordPress freelancer platform, is also working with its developers in Ukraine and Russia to support them in ensuring their clients still receive services.

“We are a two sided marketplace between our developers and clients,” Codeable Expert Community Development Lead Mike Demo said. “We are doing daily wellness checks, expedited payouts to our developers in Ukraine and Russia, and helping clients with Ukraine and Russian experts find alternative development help if needed at no cost to the client or money lost for the expert.”

Earlier this week, Namecheap took a highly controversial approach to making a difference, terminating service for Russian customers with just six days’ notice. (Namecheap has since revised the deadline to March 22). This includes Namecheap Hosting, EasyWP (Namecheap’s managed WordPress hosting), and Private Email with a domain provided by another registrar in zones .ru, .xn--p1ai (рф), .by, .xn--90ais (бел), and .su.

The email to customers puts the onus on subjects of authoritarian rule, a tactic that sparked a fiery debate on Hacker News:

“Unfortunately, due to the Russian regime’s war crimes and human rights violations in Ukraine, we will no longer be providing services to users registered in Russia. While we sympathize that this war may not affect your own views or opinion on the matter, the fact is, your authoritarian government is committing human rights abuses and engaging in war crimes so this is a policy decision we have made and will stand by.”

As sanctions are having a catastrophic effect on the Russian economy, and many Russians are scrambling to get out of the country, some contend that these measures are hurtful to those who are trying to help. One user on Hacker News, @_vtoj, highlighted a few reasons why this approach is problematic:

Dude, right now all of us are in deep shock, while:

– some are trying to find their relatives in Ukraine

– some are coordinating and volunteering

– some are trying to get themselves and their families outside of Russia (which gets harder by the minute because of prices and sanctions)

– some are trying to smuggle at least some of the money outside, because their entire life savings are now blocked

– some are trying to preserve what they have despite ruble and market crashing

– some are hunkering down with what they have and their loved ones, trying to stockpile some food before prices skyrocket

And no one has any time to cope and process anything – don’t forget usual workloads, too. Planning for a week feels like it’s already a strategic, not a tactical scope.

I get what you’re trying to do, but can’t you at least give more time for everyone? Right now I need to drop everything and migrate my DNS as well because my private email that I use for docs will stop working in 6 days. And to figure out how to pay the transfer fees while doing all that. It’s very much fucking stressful already.

GoDaddy, another major domain registrar and host, took a slightly different approach, announcing today that the company is renewing, at no cost, any products or services that are set to expire in the next 60 days for Ukrainian customers. The company is also donating $500,000 to humanitarian relief in Ukraine and matching donations from employees, and providing assistance for Ukrainian contract workers.

“What’s happened in Ukraine is horrible,” GoDaddy said. “We do not condone the unwarranted aggression from the Russian Government.”

The company is also making specific business decision that impact Russian customers but may not affect existing customers as strongly as the Namecheap’s sanctions:

  • Removing the Russian version of our website 
  • No longer supporting new registrations of .ru and .ru.com
  • Removing all .ru domain names from our domain name aftermarket
  • Removing the Russian Ruble

WordPress managed host WP Engine is donating to Polish Humanitarian Action and the Ukraine Humanitarian Fund, as well as matching employee donations.

If you are looking for ideas on where you can lend your support, longtime WordPress contributor and the co-organizer of the first official WordCamp in Ukraine, Andrey Savchenko, recommends donating to the Ukrainian Armed Forces and Come Back Alive fund. He is currently sheltering in Kyiv.

These are a few examples of the ways the WordPress community and broader hosting communities are using their influence and resources to help with relief efforts. If your company is launching an effort that was missed here, feel free to leave information about it in the comments.

by Sarah Gooding at March 03, 2022 09:52 PM under ukraine

Post Status: The Block Editor: Kid Tested, Client-Approved

It’s BobWP’s WooSnippet for the week of February 28, 2022! Get the lowdown on what’s new in the world of WooCommerce.

WooCommerce 6.3 RC2 and WooCommerce Blocks 7.1.0 Released

This last week has been busy over at WooCommerce. The second release candidate for 6.3 dropped as we near the March 8th final release. In RC2, WooCommerce Admin has been updated from 3.2.0 to 3.2.1 — the changelog is available here. Two security fixes addressed the permission check for reviews in v1 & v2 REST API and Path Traversal in Importers.

In addition, WooCommerce Blocks 7.1.0 came out with Global Styles support for more blocks and improved editor capabilities.

Guidelines for Adding Actions and Filters

New guidelines for adding and modifying actions and filters are available on GitHub in the WooCommerce project Wiki. The guidelines bring clarity to the kinds of changes that are acceptable “and to reduce unnecessary back-and-forth during the code review process.”

Block Editor Passes the Twelve-Year-Old Test

We had a chance to chat with developer and writer Eric Karkovack about Woo and a lot more. Eric shared some insights around the challenges facing WooCommerce site-builders by being a bit too “piecemeal.” Eric also talks about his experience with Gutenberg and clients' reactions to it, as well as his 12-year-old daughter as he helped her set up her own site:

“In fact, I set my daughter up on a blog with wordpress.com the other day, and she wants to do a blog about pets and Harry Potter. So I set her up with this, right?

And I'm going to start explaining all the good stuff with the blog editor. And here's what you do. You hit the plus button and she just looks at me and says, “Dad, you can go now. I'm fine.” I come back an hour later and she's already got it figured out.”

Stress Management, Developers, and Remote Work

Finally, we all know developers are no strangers to stress. Four of the speakers from WordFest share some tips for Woo builders on how to handle the stress of remote work. These are great ideas all developers will appreciate.

Do the Woo

Do the Woo! Get the Podcast. Subscribe to the Newsletter.

Learn from others. Grow your business. Connect with a community of like-minded developers and builders who freelance, run agencies, and build really cool products and sites in the WooCommerce ecosystem.

by Bob Dunn at March 03, 2022 07:15 PM under WooCommerce

WPTavern: WordPress Ditches “Pee” and “Tinkle” Jokes in Favor of More Inclusive Language and Clearer Code

It feels like the end of an era. Last week, core contributors merged a patch that removed PHP variables named $pee and $tinkle from the WordPress codebase.

Yes, the software that powers 43% of the web has pee-pee jokes in its code.

I know how it sounds. I felt silly writing that sentence.

My job as a writer for WP Tavern affords me the luxury of taking creative license with words every now and again. However, it is a rare treat to write about pee-pee jokes. The chance to do so will not likely come around again. While I could pull out a few doozies from childhood, I promise to remain as professional as possible, given the subject matter.

The vast majority of users are likely unaware of this joke unless they enjoy trawling through the 6,000+ lines of code in /wp-includes/formatting.php. There is a good chance that any developer who has looked up the wpautop() function has stumbled upon it.

Reading through the code can garner a chuckle from a few, but it is a momentary amusement. The problem has always been confusing variable names. In programming, clarity should be favored above all else.

What is a $pee, exactly? It is text. Therefore, $text makes sense as a variable name, which is one of recent code changes. Other modifications include:

  • $pee_parts to $text_parts
  • $last_pee to $last_part
  • $pees to $paragraphs
  • $tinkle to $paragraph

That complex wpautop() function and its 150+ lines of code start making a bit more sense when things are named for clarity.

For the historical record: $pee was first seen in the WordPress codebase in 2003. $tinkle did not make an appearance until five years later.

Developer Rico Moorman asked for the problematic code to be changed in a ticket in 2013. There was some movement to replace the variable names at first. However, after several lead developers stepped in, the idea was shot down. The arguments against the change leaned on keeping the spirit of WordPress, its humor, and its history alive.

However, 2022 is not 2013. The world has changed since the ticket was first opened. While it still has miles to go to be the all-inclusive community it can be, the WordPress space is seemingly more open to checking itself on language issues today.

In 2020, when many in the worldwide developer community switched their default Git repos from “master” to “main,” WordPress followed suit. And, it managed to keep a bit of the charm of its SVN roots by using “trunk” instead.

In 2018, contributors changed text in the Hello Dolly plugin that was degrading to women, especially out of context. The plugin ships with WordPress and randomly displays a single line from Louis Armstrong’s “Hello, Dolly!” in the admin header.

The two offending lines were:

  • “Find her an empty lap, fellas”
  • “Find her a vacant knee, fellas”

Along with some other trivial text changes, the former was removed altogether, and the latter was replaced with “Have a little faith in me, fellas.”

The world changes over time. Language evolves, and what may have been acceptable in years past will not always be so in the future.

Some lead developers may have been OK with the code in 2013. However, the community should never be afraid to reevaluate past stances once in a while. Maybe it was time to ditch the fine art of middle-school jokes in favor of clear and readable code.

Miriam Schwab renewed the discussion via the Post Status Slack chat in December 2021. The general sense from those in the conversation seemed to agree that it was not necessarily offensive but immature. Most of all, it did not have a place in modern WordPress. A team member of Schwab’s had found the code and also renewed the Trac ticket discussion.

During this go-round, there was no pushback. It was simply time to say farewell to a part of the platform’s history.

In this instance, WordPress has not lost any of its personality. Plus ,the variable changes will allow more developers to grasp what is happening in the code.

This does mean that WordPress has a vacancy for at least one new joke or Easter egg. I am still a little salty about losing access to the Matrix. But, it never hurts to mix it up once in a while. WordPress’s in-jokes should continue maturing along with the software.

by Justin Tadlock at March 03, 2022 01:15 AM under WordPress

March 02, 2022

Post Status: This Week at WordPress.org (February 28, 2022)

Each week we are highlighting the news from WordPress.org that you don't want to miss. If you or your company create products or services that use WordPress, we've got the news you need to know. Be sure to share this resource with your product and project managers.

News

Post Status

You — and your whole team can Join Post Status too!

Build your network. Learn with others. Find your next job — or your next hire. Read the Post Status newsletter. ✉ Listen to podcasts. 🎙 Follow @Post_Status. 🐦

by Courtney Robertson at March 02, 2022 05:57 PM under WordPress Core

WPTavern: #16 – Jonathan Bossenger on Cleaning Up WordPress Notifications

On the podcast today we have Jonathan Bossenger.

He’s here to talk about WordPress notifications and how they are managed.

If you’ve been using WordPress for any length of time, then you’ll have seen notifications appear in the admin area of your site. These messages can be useful, they might tell you that something needs to be updated, or that something was successfully saved.

There’s also a chance that you’ve seen notifications for other purposes as well. Perhaps a plugin would like you to notice their upgrade offer, or that they have a sale on.

All these notifications fall into the same place, and when multiple of them arise at the same time, the admin area can become cluttered and confusing, especially for novice users.

It’s possible that you don’t mind these notifications, but it seems that many people do, and feel that they’re being overused. They would prefer not to see so many notifications, and if notifications are to appear, that there are limitations on what they can show, and how large they can be.

In the podcast Jonathan talks about his concerns regarding WordPress notifications, and the fact that there’s no system in place to limit what they can display and for what purpose.

He’s currently working on WP Notify, which is a project aiming to put a notifications area in to your WordPress website. All notifications would appear in this area, and there would be constraints about what could, and could not, be displayed there.

It’s not about removing notifications completely, more about putting them in a defined place, like you might find on your mobile phone.

We talk about how notifications are currently created and how there are few limits on what they can do. How overuse of notifications can be a cause for concern, and how Jonathan’s solution aims to add a unified system to WordPress which would put the user in control of the notifications.

Jonathan’s website

WP Notify on GitHub

Transcript

[00:00:00] Nathan Wrigley: Welcome to the Jukebox podcast from WP Tavern. My name is Nathan Wrigley. Jukebox is a podcast which is dedicated to all things WordPress. The people, the events, the plugins, the blocks, the themes, and in this case, the way that we manage announcements in the WordPress admin. If you’d like to subscribe to the podcast, you can do that by searching for WP Tavern in your podcast player of choice, or by going to WP Tavern dot com forward slash feed forward slash podcast. And you can copy that URL into most podcast players.

I’d really like to hear from anyone out there who would like to come on the podcast and talk about whatever it is that you do with WordPress. It might be that you’re a developer, a WordCamp organizer contributor, a designer. Honestly, if it’s about WordPress, I’m keen to hear from you, and hopefully get you on the show. Head over to WP Tavern dot com forward slash contact forward slash jukebox. And you use the contact form there.

So on the podcast today, we have Jonathan Bossenger. He’s here to talk about WordPress notifications and how they are managed. If you’ve been using WordPress for any length of time, then you’ll have seen notifications appear in the admin area of your site. These messages can be useful. They might tell you something needs to be updated. Or that something was successfully saved. There’s also a chance that you’ve seen notifications for other purposes as well. Perhaps a plugin would like you to notice their upgrade offer, or that they have a sale on. All these notifications fall into the same place, and when multiple of them arise at the same time, the admin area can become cluttered and confusing, especially for novice users.

It’s possible that you don’t mind these notifications, but it seems that many people do, and feel that they’re being overused. They would prefer not to see so many notifications. And if notifications are to appear, that there are limitations on what they can show, and how large they can be.

In the podcast, Jonathan talks about his concerns regarding WordPress notifications and the fact that there’s no system in place to limit what they can display, and for what purpose. He’s currently working on WP Notify, which is a project aiming to put a notifications area into your WordPress website. All notifications would appear in this area and there would be constraints about what you could and could not display there. It’s not about removing notifications completely, more about putting them in a defined place. Like you might find on your mobile phone. We talk about how notifications are currently created and how there are a few limits on what they can do. How over use of notifications can be a cause for concern, and how Jonathan’s solution aims to add a unified system to WordPress, which would put the user in control of the notifications.

If you’re interested in finding out more, you can find all the links in the show notes over at WP Tavern dot com forward slash podcast, and look for episode number 16. And so without further delay, I bring you Jonathan Bossenger.

I am joined on the podcast today by Jonathan Bassinger. Hello Jonathan?

[00:04:01] Jonathan Bossenger: Hello, Nathan, how are you?

[00:04:02] Nathan Wrigley: I’m very well. Jonathan is joining us today to talk about WordPress notifications. Now I could introduce this subject and say all sorts of things off the bat. My thoughts on things, but it would probably muddy the water.

So Jonathan, it’s over to you. Tell us about WordPress notifications and the issues that you see, and then we’ll get into the weeds and discuss the finer points.

[00:04:26] Jonathan Bossenger: Sure. No problem. So, before I start, I’d like to mention that my problems with WordPress notifications come from both the point of view of a contributor to WordPress, and also a person who makes money off WordPress.

So some of the first products that I created for WordPress were plugins and part of those plugins required me to give some kind of feedback to the user if they had saved settings, or if there was some change that they had to make or whatever the case may be. And then from there I moved on to building plugins for clients or doing custom work.

And the point that I noticed that there was a problem as it were with notifications was when I used to log into client’s websites, as a new administrator and I was flooded with, and I’m sure we’ve all seen the screenshots of this on social media, but flooded with notifications from this plugin that has just been updated to, this plugin has an upgrade, a paid upgrade to this plugin is just on this over here. This theme has got this, that, and the next thing. And I’m reading half a page, sometimes a full page, of notifications before I can even start working with the dashboard. The, in big inverted air-quotes, problem with notifications is the fact that there is no official centralized way to register and present notifications to the user other than using admin notices.

So if you’re a developer of a plugin or developer of a theme, there is the admin notices hook that you can hook into, but you can pretty much hook any HTML into that hook. So the documentation gives you some guidelines as to status classes that you can use for your div to display it in red or green as a success or an error, but you have full leeway to build anything you want there.

So you could build a full page notification. You could build a tiny notification. They are guidelines in the plugin and theme handbooks that gives you guidelines of what you should do and what you should stick to. But there’s nothing to force you down that path. And with notifications. These admin notices traditionally should be being used to give the user feedback.

So I’ve created a post, I hit save, and I need to see a message that says, yay, my post has been saved. This admin notices functionality is now being, and I don’t want to use the word abused, so I’m not going to, but overused by folks who are trying to give the user some other form of notification, some other piece of messaging, some other piece of information.

[00:07:01] Nathan Wrigley: So the problem is a historical one in that WordPress core has the capacity to pop-up things, which presumably the intention was that anybody who wished to use these would have something legitimate to say. As you say, post has been saved, something has been deleted and so on, and there are no constraints around really what you can put in there.

It could be enormous. It could be very wordy. It could contain images, animated gifts, and so on. And there’s no real constraints about the way that it can be implemented. And I think for the most experienced users of WordPress, that is to say somebody that’s dabbling in there everyday, you kind of become a little bit numb to it and you just log into WordPress and immediately dismiss them all, click whatever option is available to make them go away.

But there they were and clients, people less experienced, I think the problem might reside in the fact that they might cause some sort of alarm, you know, it might be, oh, well, why is that appearing? There’s probably some kind of upgrade that I should have had. Why haven’t I got the upgrade and so on and so forth.

So it’s a historical problem. Do you know, roughly speaking, how far do we need to rewind the clock before the, in inverted commas, over use of these began. When was the first time you saw this being used for ulterior motives?

[00:08:23] Jonathan Bossenger: So it’s difficult for me to say that 100%, because I’ve only been very active in the WordPress space since around 2015.

I use WordPress as a blogging platform from about 2009, but that’s, as far as it went, I had a blog. I had maybe a security plugin installed, maybe a forms plugin, but I was just using it for blogging purposes. So it was only in 2015, 2016 that I started building for WordPress that I started seeing, personally seeing these issues.

I would say that since it’s definitely gotten worse. There was a stage in about 2017, 2018 that I started seeing it more and more and more. The thing that you mentioned earlier about, you know, as an experienced user of WordPress, we see these notifications. We know how to dismiss them. We know how to click. The concern that I always have is never mind somebody who’s a client, nevermind somebody who is a business owner. Let’s just look at somebody who wants to blog with WordPress or build themselves as simple website with WordPress. What is the user story gonna look like? They’re going to either through their hosting company, they’re going to install WordPress through some kind of one-click install.

Maybe they’re using a managed hosting environment, which does it all for you. Maybe they’re technically savvy enough to download the zip file and upload it to a server. They’re going to install it. They’re going to start using it. They’re going to need to have, maybe a contact form. They’re going to need to maybe have some kind of plug-in functionality.

They’re going to start looking for plugins to install things. Then as you say, suddenly, they’re going to see these messages and these messages are going to be jumping out at them. And these messages are different sizes and different shapes, and it just creates this very jagged, jarring experience for the new user.

Now we can’t blame WordPress because WordPress Core itself is using admin notices correctly. We can’t really blame plugin developers and theme developers because, they’re trying to get this information to the user, with a system that’s not designed for it. So the problem is not one single entity’s problem.

The problem is all of our problems. That’s the kind of the way I look at it. We all need to work together with WordPress Core, with plugin developers, with team developers and find a better way to register these, non, I don’t like to call them notifications because to me a notification is… your post has been saved successfully, or you have created a new post.

So let’s call them announcements just for the sake of this podcast. We need to find a way to register these announcements that are outside of the scope of the day-to-day use of WordPress and present them to the user in a way that is clean and nice, and doesn’t, doesn’t disturb them using WordPress on a day to day, but is accessible and they can, and they can see the information that they see in a, in a way that is formalised.

[00:11:23] Nathan Wrigley: Do you think then the notifications that we have at the moment, which can consume any HTML, let’s imagine that nothing additional were to be added into WordPress, and we’ll get on to your project a little bit later, but if we were simply to have it that just text could go in there and that text could be limited, say to a certain string length, I don’t know, 30 characters or something.

Would that potentially solve the problem in your eyes? Or are there situations where anyone may need more than that, because obviously if we just limited it to text, we could still put all sorts of interesting and perhaps unwanted messages in there.

[00:11:58] Jonathan Bossenger: So I speak to you now as a developer. And let me tell you that if you put some kind of limitation down, some clever developer will come along and figure out how to work around this. As it is, you know, the admin, the admin notice the system as it is, is kind of restrictive, but the only way that you could physically restrict it, is if you, every time a new plugin submission comes in, you had somebody physically inspecting every single instance of the notification system and making sure that this person was following the guidelines. And I’m sure we all remember a number of years ago that the theme team was kind of coming under fire because they were taking a long time to review themes.

And that was because everything was still being done manually. The plugging team is a small number of people due to the security that’s involved in getting plugin submitted and what plugins have to deal with. So expecting a team of people to physically inspect every single admin notice that comes through. I mean, sure, you could probably automate it in some way, but we all know that developers are crafty. We all know that developers, I mean, that’s part of what being developed is, finding ways to solve difficult problems. So you put a constraint down in front of a developer on an open source project, you know, code that is publicly available.

And say, right, we’re now stopping you from doing X. They’re going to find a way. So to me it’s a little bit less of the stick and more of the carrot. We need to provide a way that gives developers the ability specifically, and I speak now as somebody who failed dismally to try and start a plugin business.

But one of the biggest things that I struggled with was marketing. How do I market my paid products off of my free ones? You know, WordPress dot org plugin repository and the theme repository is, we all know this, is one of the top places to get yourself known, put out a free product, get customers into the funnel, but then how do you turn them into paying customers?

We know we have a problem with sponsorship of open source products. It’s spoken about all the time. How do we, how do we balance the needs of the open source project and the people that are building plugins for it and how do we balance the need for them to market to their customers, to, to bring, you know, free customers into the paying funnel, in a way that isn’t disruptive to regular users of WordPress?

And in my opinion, the only way that we can do that is by creating something that is well-defined in terms of, this is how you do things, this is how you register things. But it’s not, it’s not being thrown into the user’s face when they want to see that information. To me, that’s the only way that, that we do it in

[00:14:34] Nathan Wrigley: In terms of describing problematic notifications or announcements or whatever term we’d like to use. There must be a point where in your own mind it strays from being, well, that’s totally acceptable. Everybody ought to be seeing that. And then there’s some kind of gray area, no man’s land where that feels a bit shady, I’m not quite sure what to make of that. And then presumably there are examples which you could mention where it’s clearly something that you would strongly urge people not to do.

Do you want to just describe examples of maybe things which you think are totally legitimate and then also some examples, we should probably not use any names, examples where you’ve seen things that you think actually, I think that you’re pushing a little bit too hard then.

[00:15:19] Jonathan Bossenger: Sure. I can definitely give some examples. I won’t give names because that’s just not something I want to start doing right now, but I can give you some personal examples of notifications that I’ve dealt with.

For those of you who don’t know, I used to be a developer for a company called Castos. We managed a podcasting plugin for WordPress. And at that stage, I was very focused on making sure that our notifications were not disruptive to our users or any other user of the WordPress site that happened to have the plugin installed.

So as an example, our one, let’s call it onboarding form to try and get customers to sign up for our podcast hosting service, was only available on the plugin settings page. So only when you went to the plugin settings on the right-hand side, there was a nice little sidebar with a little graphic to say, hey, if you’re enjoying the plugin, but you’re looking for a way to host your files, here’s a form you can fill in. We’ll give you a 10% discount to try it out. To me, that’s not disruptive, because the user can still use their settings. They can still make changes. They’re not seeing this notification at the top of the screen in their face every time, it’s off to the right. It’s there, it’s visible, but it’s not disruptive.

The other thing we were very focused on is when we do update messages. So when the plugin gets updated, if there’s some kind of process that needs to be run, maybe there’s a database upgrade that needs to be run. That to me makes sense as a, let’s call it a site-wide notice, or a more general admin notice, but we kept them very limited. Maybe one sentence. We didn’t use the red color or the green color, we just kept it gray and just said, hey, we noticed you’ve recently updated. Here’s a link to click through to make the changes. But specific things related to the plugin. So if we would, I can actually give you a perfect example. There were some changes in the Apple podcast categories and Apple podcasting was changing how the categories worked.

And so what we did was, if you loaded up the plugin and you updated the plugin, you saw no messages, you saw no notifications, you could carry on doing your things, because it would all just work. When you went to the page that allows you to control your categories, there we showed you a specific message to say, by the way, did you know Apple have recently updated their categories, your old categories are still going to work, but it would be a good idea to change your categories on this page. And then as soon as the person saved that page, that notification goes away. So to me, that’s an example of how, as a developer, you can sort of think of, you know, how do I get free users onto the paid version?

You know, how do I display relevant information to the user? Some of the bad things that I’ve seen, there are a couple of popular page builders that I won’t name. I think I might’ve tweeted about it. So maybe if you go back in my feed, you might find. With the Block Editor coming out. When you load up a new post, you have this option to select, and the only reason I know this is because for various reasons, I have both of these page builders on my site because I’ve done some demo content with them for tutorials in the past. When I create a new post, I get this big, these two big buttons saying, do you want to use this page builder? Do you want to use that page builder? Or do you want to use the default page builder. When I select, and this might’ve changed, cause it’s been a while since I’ve done this, but when I select default page builder, at the very top of the Block Editor, there are now these two big buttons, saying switch back to the other page builders, switch back to the second page builder that you have installed. To me, that’s kind of pushing it, because I’ve already chosen that I want to use the default editor. Now to keep bugging me. And the other thing that I hated about those buttons were, they both had their own colour schemes. So they were very jarring in the block editor. Cause I keep my WordPress on a very clean theme. So now I’ve got these big, bold colors at the top of my editing area. And they were both using separate fonts as well. They weren’t using standard WordPress dashboard fonts.

So to me, that was very much in my face and almost getting to a point where I wanted to stop using their products because they were being so vibrant about that. There was another example recently where somebody had, I can’t remember the details but, I think it was, I think it was The Tavern site, where somebody had added, I think it was a signup or an upgrade or something button as a HTML field in the settings sidebar, which there was quite a bit of conversation around. To me again, that’s the problem, you know, where you are using space that should be used for one purpose, you know, control or settings or whatever. And now you’re taking over that space to put in your notifications or your upgrades or upsells. Those to me are the kind of the problematic areas.

[00:19:53] Nathan Wrigley: It sounds to me as if you’re demarcating in your own head at least, the pages, the places on a website which have legitimate use. So the general admin, if you just click the dashboard link and you’re into WordPress and you’re not in any particular setting for any particular plugin. You feel that those ought to be limited to possibly text and just very informational in nature and something which is more or less critical, something which you must take care of because otherwise. Right. Okay. So that’s what belongs there. But if you were to go into the settings page of any particular plugin, that’s more of a free for all.

Do you feel that there’s any constraints there or are you, you mentioned that for Castos, you have a sidebar. I remember seeing that have actually used that before. And there it was, and it did genuinely feel as if that was the right place for it, because I was already in the settings. I was thinking that I was going to be interacting in some way with Castos, and so the upgrade felt like an appropriate place. Any limitations on that? Are we allowed to go full page in there or should there be some constraints around that?

[00:21:03] Jonathan Bossenger: Well, for me, it’s always about the user experience. So, I feel like a lot of developers, they understand the the balance between creating a good user experience and interacting with your users. The company that I work for now, Delicious Brains, it was about a year ago now released version two of WP Migrate DB Pro with a new user interface, and the notifications that come up when you log into the plugin page and the plugin settings, they’re just so nice and clean and they don’t overwhelm you.

They are useful information, you know. Even if you install the free plugin, there’s a little bit of a thing at the top, but it doesn’t bombard you. So in my opinion, yes, if you’re building a product for WordPress today, and you are forced to use admin notices. You should think about how you’re registering these things.

One of the, one of the things that I spent the most time on when we were releasing updates to the plugin at Castos was triggering certain notifications only at certain points. So, when there was an upgrade from 1.2 to 1.3, then trigger a certain notification. But then when the user dismisses that notification save the fact that they’ve dismissed it and don’t show it again.

So we actually spent time thinking about this, because there’s nothing worse and this actually happened. So the reason we spend the time is because something happened. We launched an update, it included an upgrade step that the user had to action. But we didn’t have any kind of check in place. So every single time a new user installed the plugin, they got this upgrade.

Now that’s fine in the scope of one plugin. Think about let’s say 15 popular plugins do that. Your user comes along and likes those plugins and installs those plugins and suddenly has 15 notifications in their main dashboard they have to deal with. If those were separated, off and in the settings for each plugin, then it would limit that amount of overwhelm. And they would only see that notification when they’re dealing with those settings. So I do believe that putting plugins specific notifications in certain places is a better way. The problem you have with that though, is that the other reason developers use notifications is to push users into that funnel.

And I am not standing here today saying we shouldn’t allow developers to do that. I strongly support people who are working on open source products, being able to be given the ability to earn income, to be able to be given the ability to turn non-paying customers, into paying customers. But we need to do it in such a way that it doesn’t overwhelm the users.

It doesn’t frustrate them. We should be making it a, we should be making the process of signing up for our product as fun and pleasant as it is using WordPress. And if we are bombarding our customers with notifications from day one when, and that’s why I say we, we have to find a better way to do this. We can take what we currently have and try and patch it up because what we currently have has been overused for so long and is already.

So what’s the word I want to use? I don’t want to use broken because it means that it was working before, but it’s been again, I don’t want to say misused because that sounds so negative. Used incorrectly, used for the wrong reasons, because the reasons that exist, the reasons that exist today, for people to use these notifications are ten times more, what they were, you know, five, ten years ago.

[00:24:31] Nathan Wrigley: Some of the examples that I’m going to give here come into my head when I’m thinking about advertising and overwhelm of advertising and misuse. And so a good example would be, if you go to a news site, I can think of an example of a local news site to me. And I go there and I find it incredibly difficult to use that website because they’ve taken the path of advertising and there are adverts, splattered everywhere so much so that it’s almost impossible to find the actual content. The content is split up into small paragraphs and they are punctuated by advertisements. And I feel that’s probably the argument that you’re making is that if we clutter the UI, if we allow the UI to be cluttered by things which people didn’t necessarily wish or need to see, then we are making the experience poorer. And I go to that website. I find it quite difficult to stay there. It may be that I need the content so badly that I’ll persevere, but I’ve got this instinctive reaction to get away. And we don’t wish people to enter WordPress, have an initial experience which is poor and continually frustrated.

However, on the flip side, there’s obviously some sort of commercial need, as you’ve described. People would wish to turn their free projects into paid projects and have some subscribers. And I guess plugin developers would point to the fact that in a normal situation, you would get a product and probably give up your email address in return for that. But on the WordPress side, if they come to the repo and download your free plugin, you have no access to that. You haven’t managed to get them into a funnel in any way, shape or form. They’re just consuming your product, and that’s the end of the road. They may use it forever, and I have no idea who you are or any other product that you may offer.

And in fact, they may well miss out on something which they genuinely, legitimately needed. And so the developers would argue, I guess, that we need some way to do this. We’re going to try to keep it under control, but I suppose the problem is human nature. Is that given the fact that the area is open to any HTML as you described, it just starts to get overused. The boundaries get pushed, things that were acceptable yesterday are going to be pushed further. And then what’s acceptable in a year’s time may get pushed further. And your position, I suppose, is we just want to reign this in a little bit.

Another thing which comes to mind is commercial television. On the TV side of things, probably radio as well, we’ve gotten quite used to the fact that our content will be punctuated with adverts. We’ve walked across the mental bridge that, I cannot watch this program unless it is paid for by advertising. So every 15 minutes or so I will cope. I’ll sit there and I’ll consume the adverts or I’ll go and make a cup of coffee.

I guess making coffee is the equivalent of dismissing something in WordPress, but that’s just part of life. So I do wonder where most people will sit on this. They realize that there’s a commercial need for these things to exist. And so they cope with it, but it may not be ideal.

[00:27:37] Jonathan Bossenger: And that’s one of the reasons why we need something new because I am, I’m not, I’m not saying that we should punish all plugin developers because they want to make a living.

I’m not just saying that. As I said earlier, I failed at building a plugin business because I didn’t know how to market myself properly. I didn’t know how to turn plugins that I built for free into a paid product and how to convert customers. And I kind of think there are others that have done it successfully and there are those that haven’t. So I’m here just saying, you know, developers shouldn’t be paid for their work.

I a hundred percent agree that they should be paid for their work. And I don’t believe, as I said, I don’t believe the problem is the plugin developers. Because if you think about it, let’s go back to the example I had of, you know, Seriously Simple Podcasting. We release an update, so we show that update to the user on the dashboard.

When I’m testing that, I’m just seeing that one notification, but when the user has it on their website, they’re seeing that notification plus however many other useful, important notifications are being pushed out by other plugins. You might be in a situation, and I have seen this before, where you’ve got an admin dashboard with ten important notifications.

Because there’s been a WordPress update. So that means what plugin X had to make a change in how they do something, so you need to run an upgrade. Plugin Y made an upgrade change to their tables, so you need to run that. This plugin did this. And those are all legitimate notifications. Now, first of all, the user doesn’t know what’s more important and what is primary? You know, they’re all just the same color. They’re all just red. So it’s all just a stress factor. So number one, how do we give plugin developers the option to say, hey, this is a minor update, so you should do this, but not the end of the world. Like with the categories, the example I gave earlier.

How do we give another plugin developer the option to say, this is rather important. If you don’t do this, something could go wrong with your site. Then how do we say, okay, this is a really low end thing. This is just, you know, okay, the plugin’s been updated and make a note of this change and you can read it later if you want to. We have no way of doing that right now. We have no way of giving plugin developers, theme developers, an option to create a status level and have a certain type of message that the user can go through.

I mean, we live in a world where our mobile phones have amazing notification systems. And I can control what notifications I want to read. So I have a Facebook account purely to interact with the folks on some of the WordPress groups that I’m in. But I switched those notifications off, because none of those notifications are primarily important to me. But I certainly switched the notifications to the messaging app that I have with my wife, because those notifications that are important to me. I allow my banking notifications to come through.

If my banking app sends me advertising, I’m okay with that because I accept the fact that they’re a business. They need to make money. I’m already giving them some of my money every month with banking fees and all of that, but they want to make more, fine, I accept that. Because the benefits of receiving the SMS to tell me that my credit card has been cloned, do I want to cancel it, overrides my distaste by advertising, but that, that exists as a concept. WordPress doesn’t have that place where I, as a user can choose, even simply which notifications I want to see and which I don’t. So if I say I’m using SEO plugin X, whatever the name is, and I want to see the notifications because my SEO is important.

Then I will probably accept any upsells or upgrade notifications and I will either read them or just mark them as read, but I will be happy to receive them because the rest of the information they’re giving me to keep my SEO on board to make sure my meta tags are right, is my featured image working, is my social media image working? All those things that are important to me, I will accept their messaging. And I believe that in doing something like that, where there is a specific, formalized way of doing things. If I see SEO plugin X is using that system, giving me the user the control to receive the messaging, and SEO plug in Z is not, I personally will have more of a inkling to use X, because X is putting the control of notifications back in my hands, which I respect and anybody who’s bombarding me, I’ll have less of an inkling to want to use their product.

[00:32:02] Nathan Wrigley: I think the mobile phone example is really excellent because we can probably all identify with that. There’s usually some kind of drop down notification held and little icons appear to alert you to the fact that there’s something there to read, if you wish. And then of course you scroll down and you can very quickly dismiss them. But then they are, there in a confined area. And that area is familiar to you as the place where notifications are. It can be totally ignored. You could come back to it in five days time, safe in the knowledge that they will be there still.

And were are they important? Well, that’s on you, you knew they were there and you decided to ignore them. And then further to that, I’ve seen a trend recently within mobile phone apps to have notification settings within the apps. So you can go in and say to the banking app, look, I’m very happy to receive the critical updates about security breaches, but I’d probably rather not have the, I don’t know, here’s our latest mortgage deal kind of notifications.

The premise there must be that the banking app realizes that there is some balance of trust to be gained. And if you keep pushing the relevant to some, but irrelevant to most, notifications out at some point, the trust scale tips, and you become tired of this app and you may uninstall it. Now, in the case of banking, it maybe that’s a step too far, you’te kind of wedded to that, but you can imagine something where there are three or four rivals and you’re trying to weigh up, which one’s better for you. The overwhelm of notifications may just be the thing that tips you against it.

So let’s move into the project that you’ve got, WP Notify, because that feels to me as if you’re trying to replicate the mobile phone model. In other words, everything is tucked away in a particular area. Do you want to describe this enterprise just in broad brush strokes, and then we’ll talk about specifically what it does, and also how you may get involved in where the project’s at right now.

[00:34:00] Jonathan Bossenger: Sure. So, the goal of WP Notify, as we originally defined in the initial post. And before I get into that, I just want to give a shout out to, sorry dude, I can’t pronounce your surname, but he was the guy who came up with a proposal originally. He tweeted that he didn’t have time to try and move it forward. So I contacted him and I picked it up from there. But his original proposal was very simply, we need a better notification system for WordPress. We can’t take what we currently have, which has been overused, which is limited, and it’s limited in its technology, but unlimited in what people can do with it, and that’s the problem. We can’t take that and make that better. We need something brand new. And then once we have something brand new, that works, that makes sense that balances the needs of the user and the open source project. And the developers who are trying to earn money from their project. Once we have something like that, then it’s easier to control, to tame these notifications.

Then it’s easier to put guidelines in place. And then when the developers build their plugins, they are almost forced because when they register a notice, they can only register three fields. Those are the only three fields that are allowed. They can put whatever texts they wanted them, but those are the three fields. They can’t go overboard. They can’t make it bigger. They have a specific format, and the way they look. They’re allowed to add certain things, but not other things. That’s just where we’re at. So that’s what an WP Notify is. It’s a project that we kicked off now in 2019. So it’ll be going on for three years in August.

It’s an open source, what’s known as a feature plugin. So a feature plugin is something that is, I want to say, not sponsored by, has been accepted by WordPress Core in general as a good idea. We have an official GitHub repository on the WordPress organization and we have a Slack channel, and we are slowly trying to build this better notification system for WordPress.

[00:35:57] Nathan Wrigley: So imagine that I’ve enabled this, I’ve downloaded it and activated it. I will, by the way, link to the GitHub repository and various other things.

[00:36:07] Jonathan Bossenger: I wouldn’t install and activate it just yet, because it’s not something that you can actually use yet.

[00:36:12] Nathan Wrigley: So rewind. I haven’t installed it. I haven’t activated it. None of that stuff has happened. What does it look like? What will it present me with? As a user if I’m looking at the screen, what will I be seeing?

[00:36:24] Jonathan Bossenger: Okay. So it’s difficult to obviously, you know, describe this in a podcast environment, but the idea is very similar to what we were chatting about when we spoke about the Android or the iOS, the mobile phone notification system.

The idea is to have some kind of icon, not a jumping blinging one, but some kind of icon, be it a bell or something. I think in the design that is. That shows some kind of user interface messaging to say, you have new notifications. The user is then able to click on that. They’re able to see the notifications come up, they’re able to scan through, see which ones are important to them, see which ones aren’t. Read the ones that are dismissed, the ones that aren’t. The other idea as we spoke about earlier is to give the user the control over who they want to receive notifications from. So if they keep getting a bunch of notifications from plugin X that are never useful to them, they can turn it off if they want to.

If they receive notifications from plugin X that are useful for them, they leave them on. It is up to the user to then choose to either read or dismiss those notifications. We don’t want to go as far as saying, we’re only going to show notifications that are state changes or update changes.

We want the plugin developers to be able to advertise their products. We want the theme developers and the product developers to be able to say, hey, we’ve got a black Friday special on. We’ve got a discount code running, whatever. We want those things, but we want them in a way that the user has the control. So there are some designs, as you can see, if you go through to the GitHub repository on the read me page, we have links to our design documents.

We have links to our requirements documents. We spent about, due to the nature of open source, we spent probably about a year and a half just working on what are the requirements version one? And that went through a lot of process of feedback and revisions. Then we worked on design and that went through feedback and revisions as well.

Now we’re starting at the sort of initial implementation phase and our first goal, our first short term goal right now is to take those designs, and actually implement them purely as HTML so that you, Nathan, or anybody else who is interested, could install the plugin and just see what we’re planning. Just to get a visual idea of what this could look like.

The goal after that is to then get feedback from the community. From the plugin developers, from the theme developers, from the users, from the open source community. And say, does this solve the problem we’re trying to solve? If it does, then we can start looking at how do we implement this?

[00:38:46] Nathan Wrigley: How has the project been received? Have you had a lot of engagement? Has it been a difficult struggle trying to get people involved? What’s your opinion on where you’re at given the time that’s been spent on it?

[00:38:55] Jonathan Bossenger: That’s so here’s where we get into a little bit of personal history on this. For me, it’s been a little bit difficult because I’m not a fully sponsored contributor to opensource. I have a day job. And my day job requires me to do certain things for the business that I work for, be it, when I started it was Castos, now it’s Delicious Brains. I am allowed X amount of time to contribute to open source, but it’s not, I’m not allowed to spend my whole day. So I’ve kind of worked in a bit of a, it’s called a project manager slash wrangler role, just to try and get people interested.

We had, when we launched, we had, if you go to the initial launch post, we had loads and loads of comments and everybody was keen and everybody was excited. The problem was, in my opinion at least, everybody had their own idea of how this should work. And there was actually a stage, and if you go back into the history of the meetings, there was a stage where there was a bit of a of almost people fighting with each other in the meetings. Because one was saying it should be done this way, and one was saying it should be done then the other way. And we hadn’t even, we hadn’t even done requirements gathering yet, but people were already deciding how to build this thing. But we didn’t even know what we were building yet. So that kind of tapered off, and then we got a nice core group of folks. There was maybe ten of us. I can’t remember the exact numbers, but around ten of us that were meeting regularly. We were doing the requirements gathering. And I want to shout out to a bunch of people here Mervin, Hernandez, Ari. I can’t pronounce his surname, but he works at Yoast now, he was the theme team representative. Aaron from who was at Auttomatic, she’s somewhere else. A couple of other folks that I’m forgetting right now. I apologize in advance, but they were really involved and keeping things going. There was another chap who I know he’s a WordPress user name, but I don’t know his first name. His represented prestigious as Ramen. I don’t remember his first name. He was very influential in getting the PHP side going. And what’s happened now is we’ve kind of reached this point where COVID happened, and people’s lives changed. And I noticed that things started going down a bit and we just kind of kept chugging along and chugging along.

And what I’m now seeing is that with all of this conversation, that’s going on, people are coming back into the project. So we had a bit of work done last year on getting that HTML going, which I mentioned earlier. That kind of died down. And then recently somebody joined again and said, hey, I want to help out.

So I think the biggest problem that we have as an open source feature plugin, if you will, is just getting the, and it’s difficult in an source environment because you don’t, you don’t have a lot of easy ways to connect the folks. You have to make blog where you can create posts and I’ll blame myself here. I probably wasn’t keeping up the post as much as I should have. But you don’t really have like an official way to, you know, call to arms and get people involved. So whenever I do see these posts that jump up and down about notifications are a problem, then part of me goes, well, we’re here, we’re over here, come and have a look.

So we have had some people coming in, now, it looks like we’re moving forward again with HTML side of things. So I’m hoping that very soon we’ll be able to actually release this installable plugin that doesn’t do much, but actually just looks like what it’s going to look like. And I’m hoping my, my hope is that when we can do that, when we can physically give people something to install, and see, then they will get excited and start getting involved again.

[00:42:08] Nathan Wrigley: If I were an end user of WordPress and I had things tucked away in a notification panel or whatever that might be, that feels to me like, well, a good repository for notifications. I’m just wondering from the plugin developer side, especially from the perspective of somebody who is, really, as clean as a whistle. They never misstep and misuse notifications. They just keep everything very slim and very lean and they don’t bother us too much. What would the future for them look like? Are they going to be additional hurdles that they would have to jump through? Let’s imagine a scenario in two or three years time. WP Notify has become part of Core and everybody needs to go through the process of registering their notifications in the correct way.

What would the burden be like? Is it very minimal on the plugin developer side? How does that work?

[00:42:57] Jonathan Bossenger: So I’ll say this, I don’t see admin notices going anywhere anytime soon. And one of the reasons for that is because WordPress Core uses it extensively and will probably continue to do so until we move completely towards a JavaScript admin dashboard.

But I don’t see admin notices going anywhere anytime soon. So those developers that are using admin notices in big air quotes correctly, won’t be affected. Those that are using them in different places, but unobtrusively currently it’s a case of, you register a hook. Your write a little bit of HTML, and your notice works. On the WP Notify side, we want to make it as easy as that as well. So they will be a defined structure. You can actually see, I can send you a link. There’s a document where we have the defined structure of a notification. And if I remember correctly, it’s title and description. So very similar to what an admin notice currently looks like. An admin notice just has a description area, if you will. It doesn’t even, it’s not even defined, it generally gets used as a description area. We’ve added a title. And then I seem to recall, can’t remember hundred percent, I’ll have to double check, but I think we’ve also added a possibility to register a URL.

So if the user needs to click on a link to go and trigger some other action or click on a link internally in WordPress to trigger some action. So as a developer, you would have a similar rich user interface where currently you would hook into an admin notice. You would register a callback. Your call back would continue HTML.

In WP Notify you would have a similar hook and then you would register an object, and the object has your title, your description, and if you wanted your URL. So we want to keep it as easy to use as what admin notices is, but as friendly to the user as possible.

[00:44:34] Nathan Wrigley: I think probably Jonathan I’ve asked everything that I wish to ask. The inevitable thing is, is there anything that you wished to describe that I didn’t ask you about?

[00:44:43] Jonathan Bossenger: No. At the end of the day, The only thing that the only thing that I’m, let’s call it keen on, if you want a better word is to move this forward. So right now I’m going to use this opportunity to say if there are any front end developers or any developers out there who are very good at turning design into HTML. You want to find some way to contribute to WordPress, we have an open track ticket, where some work has been done. If we can get that over the line, that will make a huge. Then, if there are any developers who want to make this happen and they’re very good on the PHP side, or they’re very good on the JavaScript side, please come along and take a look.

Everything is linked through on our GitHub Wiki. We have a project Wiki dedicated towards the requirements documents, the design, the requirements analysis we did, the open issues and the pull request. It’s all there. So come along and come and join us, come and help us build a better notification system for WordPress, because once we can put that in place, then we can make amazing things happen.

[00:45:42] Nathan Wrigley: Jonathan, if somebody were interested in reaching out to you personally, because they would like to contribute in some way or just find out more. Do you have any links or websites or social channels that you frequent?

[00:45:54] Jonathan Bossenger: Sure. I am on Twitter. It’s John underscore Bossenger because Jonathan Bossenger was too long for Twitter, back in the day. You’re also welcome to email me. My email address is my full name. Jonathan Bossenger at gmail dot com. I don’t mind sharing that email address because Gmail’s pretty good at handling spam. And I would just say that if you do email me to ask me questions, please give me some time because I am very strict with how I manage my emails.

So I’ll check that mailbox once a day and reply when necessary. Finally, if you want to get involved, go to github dot com slash wordpress slash wp hyphen notify and go through from there. If you are already contributing to WordPress and you’re already in the WordPress Slack, there is a feature notifications channel where we have our meetings every Wednesday.

And I think it’s 2:00 PM UTC, please feel free to come and join. And you’re welcome to DM me in that Slack. Email is the best. I’m a little bit old now, so this whole Twitter DM thing is something I still struggle with. So, if you want to ask me questions, email is . Probably the best. Otherwise get me onto Twitter.

[00:46:49] Nathan Wrigley: Jonathsn Bossenger, thanks for joining us today on the podcast.

[00:46:52] Jonathan Bossenger: No problem. Thank you. .

by Nathan Wrigley at March 02, 2022 03:00 PM under WP Notify

WPTavern: The WordPress Web Fonts API Has Arrived

The journey toward a web fonts API in WordPress has been a rollercoaster of emotions for developers. After being punted from the WordPress 5.9 release, it was moved to the Gutenberg project, where it could be built alongside related features that relied on it.

The API has been merged into the Gutenberg plugin and should land in version 12.8. Theme authors who want to test it can clone the dev version of the plugin or download the nightly version from Gutenberg Times.

Jono Alderson opened the original ticket for a web fonts API in February 2019. However, it was not until late 2021 that it gained a mass of support and development. By most accounts, the API looked ready to ship with WordPress 5.9. However, it was put on hold by Andrew Ozz, one of the lead WordPress developers.

It was not a popular decision, but it may have been the best direction. The API was limited because it did not yet have theme.json support. Being only available through PHP meant that theme authors would have mostly been doing what they always have — rolling out their own solution. This was not the holdup for its unveiling, but it will likely be the API’s most common use case.

While many wanted to see this feature land in WordPress 5.9, the extra months have given it time to evolve into a cleaner API that integrates with the site and content editors.

Theme authors can now define font-face definitions alongside their corresponding families in theme.json files, and WordPress will automatically load the necessary @font-face CSS in the editor and on the front-end. I have tested this extensively and have not run into any problems.

The potential downside is that the feature only ships with support for a local provider, which means fonts must be bundled with the theme. A Google Fonts provider was part of the original implementation but was later removed.

Ozz goes into further details in an earlier ticket, but his recommendation was to drop Google Fonts support for now:

Add support only for local fonts for now. If WordPress decides to include support for the Google CDN later on, the implementation will have to consider web privacy laws and restrictions and be tied with an eventual User Consent API, etc.

Related article: German Court Fines Website Owner for Violating the GDPR by Using Google-Hosted Fonts

Ari Stathopoulos, one of the developers behind the web fonts API, explained that bundling a solution in core that writes the font files directly to the server would improve privacy:

Instead of removing it, maybe we could implement them properly, enforcing locally-hosted webfonts to improve performance & privacy? This way we’d be setting a good example, and we’d see a significant performance & privacy improvement in the WP ecosystem as themes & plugins that currently use Google-fonts, Adobe-fonts and whatnot will start to adopt the API.

For now, it looks like local fonts are officially supported, but theme and plugin authors must register custom providers. One fear with leaving out Google Fonts support is that there will be many competing solutions in the wild instead of one solid provider that everyone can rely on. The more developers build their own wheels, the more likely different implementations ship with bugs or security issues.

Automattic already has a draft patch for a Google provider for Jetpack. Assuming that gets pulled into the plugin, it will undoubtedly conflict with a theme down the road that registers its own google provider ID.

Only supporting local fonts could also create larger theme download sizes. For many themes, this should be a non-issue. One, two, or three font packages are reasonable. However, if global style variations become popular, we could see themes that ship dozens of fonts to cover multiple pre-packaged designs. That will quickly lead to bloated theme files and, combined with enough images, theme authors may hit the 10MB limit for submission to the directory. That feels a little like tomorrow’s problem, but it is something to begin thinking about today.

There are still some issues that need to be solved around the API. However, pushing it through this early in the WordPress 6.0 release cycle will give everyone time to test and help improve it.

Testing Bundled Fonts

There are two methods for registering web fonts with WordPress. For theme authors, the simplest solution is to define them via their theme.json files. This is the method that I will cover below since the file has been standard since WordPress 5.8. There is a PHP example in the pull request ticket.

The theme.json keys and values mostly correspond to the CSS @font-face rule. Theme authors should brush up on it if it has been a while since they have used it.

For testing, I registered three web fonts through my theme, and the following screenshot shows them in action in the editor:

Testing three web fonts.

Web fonts should be registered under settings.typography.fontFamily as part of a specific font family definition. The following is a copy of the code I am testing in one of my themes using the Cabin font:

{
    "settings": {
        "typography": {
            "fontFamilies": [
                {
                    "fontFamily": "\"Cabin\", sans-serif",
                    "slug": "primary",
                    "name": "Primary",
                    "fontFace": [
                        {
                            "fontFamily": "Cabin",
                            "fontWeight": "400 700",
                            "fontStyle": "normal",
                            "src": [ "file:./public/fonts/cabin/Cabin-VariableFont_wdth,wght.ttf" ]
                        },
                        {
                            "fontFamily": "Cabin",
                            "fontWeight": "400 700",
                            "fontStyle": "italic",
                            "src": [ "file:./public/fonts/cabin/Cabin-Italic-VariableFont_wdth,wght.ttf" ]
                        }
                    ]
                }
            ]
        }
    }
}

Note that file:./public/fonts/*.ttf is relative to the theme folder. Theme authors need to adjust this to fit their theme structure.

by Justin Tadlock at March 02, 2022 12:58 AM under gutenberg

March 01, 2022

Post Status: Post Status Excerpt (No. 48) — Running a WordPress Business

“There is always some space [in the WordPress ecosystem] left for developers.” —Dave Rodenbaugh

In this episode of Post Status Excerpt, David has a conversation with Dave Rodenbaugh, founder of Recapture.io. Dave has been involved with the business of WordPress plugins since 2009 with products like Business Directory Plugin and Another Classified WordPress Plugin.

Why This Matters: Dave shares what he's learned while running a business in the WordPress space. Others in this space or looking to enter it will learn when (and what) they should outsource to SaaS and open source.

Every week Post Status Excerpt will brief you on important WordPress news — in about 15 minutes or less! Learn what's new in WordPress in a flash. ⚡

You can listen to past episodes of The Excerpt, browse all our podcasts, and don’t forget to subscribe on Spotify, Amazon Music, Google Podcasts, iTunes, Castro, YouTube, Stitcher, Player.fm, Pocket Casts, Simplecast, or by RSS. 🎧

🔗 Mentioned in the show:

Everything your website needs — from start-up to success story — is at Bluehost. Whether you're looking to create a website, blog, or online store, Bluehost will get you started with an all-in-one website platform tailored to your specific needs. Get a free domain name in your first year, free 24/7 lifetime support, and total design freedom with WordPress at Bluehost.

Transcript

p90

David Bisset: Do you just have a brief statement to read ,

Dave Rodenbaugh: uh, possible? Um, so I used to run AW PCP, which was a classifieds plugin. I ran business directory plugin, which you can probably guess what that one is. Um, and then I had some other plugins that never really went very far went anywhere. So they're not really worth mentoring mentioning, but now, uh, I run recapture a, an email and SMS marketing for e-commerce specifically, uh, in WordPress, we support WooCommerce, paid memberships, pro restrict content pro easy digital downloads.

Um, so, uh, you know, I have a lot of experience with e-commerce and WordPress and using easy digital downloads. That was the primary way I sold the plugins for a long time.

David Bisset: And what you're doing now is that.

Dave Rodenbaugh: Yes. So recapture is a SASS and that's my, that's my gig now. So I sold the other plugins in 2020, uh, actually the awesome motive, uh, and they have taken over them and are doing a great job running them ever since.

So it's, it's actually nice to see, you know, you let your baby out of the nest and it flies away and it actually is taking on a new life of its own, which is cool.

David Bisset: It doesn't get immediately eaten by another animal. That's I feel like I've seen that in nature. Uh, who else besides yourself is part of the company.

Dave Rodenbaugh: So when I was doing the, uh, the classifieds and business directory plugin, I had. One time I had up to two or three other developers that were working on that. I also had a support person when I sold them to awesome motive, that whole staff went with them, so they could continue to maintain the plugins. And now with recapture, I have a full-time tech lead and a QA person, and then I have a person that's helping with sales.

And then I sort of do all the rest of the stuff, whatever that looks.

David Bisset: Why didn't you start recapture while you were owning the other plugins or did you start it from scratch?

Dave Rodenbaugh: I'm sort of a, an aberration, I think in the WordPress world in general, all of my successful WordPress businesses have not been things that I have started from scratch myself.

I actually bought them from other people.

David Bisset: Oh, so you bought recapture.

Dave Rodenbaugh: I did. Um, I bought the two plugins originally from a freelance developer and, uh, you know, I took those over and grew them from where she was at with them recapture. I bought it from the, a couple of brothers that were actually doing custom iPhone cases and they built this tool for their stores on Magento.

And then I took it and I was like, oh, well this has some obvious places that you could take it. I can move it to other platforms. I can add more functionality. It was literally just abandoned carts for Magento. That's it. So, and you know, the tool itself was well written. It was a very well-documented. It was already set up to be scalable.

Like I saw lots of potential in it. And I bought it and took that. Um, and I kinda liked buying businesses over building things from scratch because. It helps de-risk things. I come with a set of customers that I can already talk to. I come with a product that's functioning for those customers and doing something valuable for them.

They've paid me money for that. So these are all things that if you're building a product from scratch, you have to validate on your own, you know, how do I find the customers? What is it that they really need? How do I build that in the best way possible? Um, yeah, those are, those are tough things to solve.

Whether you're building it from scratch or you're buying something else you've got to, you've got to do a good job on all of those things in order to make your product grow. So my strategy was to buy things that looked attractive, that I felt were something in my wheelhouse I could really work with and then, you know, make better as a result of my equity.

David Bisset: So, did you ever have to rebuild your code base when you acquired the plugins like this or

Dave Rodenbaugh: The first two we did do some revamping. Um, and that was a slow thing over time, but I mean, consider how much WordPress changed. I think when I first bought the plugins, it was at WordPress one dot nine. Oh Lord.

David Bisset: I have dirt that's younger than that.

Dave Rodenbaugh: I know. And so there was. Every major release, there was huge shifts in there that we would have to go in and rip out sections of the plugin that were coded to the old way. Yeah. So, and you know, every, every major release, there was always this bridge that we would build that would be like, okay, here's all the stuff that we support for the new version.

And we had to keep the legacy stuff around for the old. And then you'd retire that every time you'd move up another major version. So by the time we got to three, we got rid of all the stuff from one dot nine. And you know, the first time we did that, we definitely made some enemies there. People were angry about that because they were still running old versions of WordPress.

There wasn't that upgrade or die kind of mentality back in 2011, 2012, 2013. So

David Bisset: is there anything that stands out in you as, if you would to compare WordPress and non WordPress businesses, how they would, how would they would stack up against each other pros and cons, that sort of thing?

Dave Rodenbaugh: No, one thing. I mean, there are definitely some things that kind of stand out that make WordPress businesses very unique.

Um, one is the whole plugin and theme model. And the fact that GPL is involved in that, which means that your code is licensed in a way that you, you can't really say this is mine and mine alone, and nobody can ever touch it. It's not a proprietary closed source model. So that means that, you know, smart competitors can go in and take a look at what you're doing.

Copy it, fork it, make their own version of it. In fact, that happened to me with, uh, with business directory plugin, somebody took my plugin, stole, laid, bought all of the, the, um, extensions for it and then forked it and put it up on embado. So, you know, and then I've, you know, attract their sales after that. And they made six figures selling it on vAuto and it was a long time before I ever actually noticed that it was over there.

Cause I wasn't like, you know, going around and scouring for directory competitors on a marketplace that I wasn't even in. But, um, but yeah, I mean, I could have done, they definitely had stolen some images and I could have done a DCMA take down or something like that. But by the time I discovered it, it was so late, it wouldn't have mattered.

They had already revamped a lot of it internally. So that's, that's a unique aspect of WordPress that I think. You know, discourages some business owners and it causes other business owners to be super secretive and not disclose their strategies and not disclose their plans. They only show what they have to show everything else they'll hide,

David Bisset: which is the code.

Right. I mean, they have to show the code.

Dave Rodenbaugh: Right, but, or they don't, or they don't put it in the repo. Like that's the other thing they'll do. They'll keep all of it and put it on their own private sites. So in order for you to download it, you got to pay for it. So, you know, this is, this is the model of definitely some larger companies that are out there at this point.

They don't they'll keep the free plugin. But then all the paid stuff is in a place that's totally protected. And that's ultimately the model I ended up doing for business directory and AWP, PCP, um, with recapture it's different. Cause I'm a service. So, you know, yeah. I was

David Bisset: about to ask you about that because do you think eventually most, um, companies that have a paid plugin in WordPress, maybe most let's, let's say a good, a larger chunk are going to be migrating to a SASSS model because of some of the reasons we've talked.

And I think I'm hearing a lot, um, from company owners and plugin developers is like, SASS is if I can just turn this into a SASS or we may be migrating to assess at some point, because you know, they don't have to share the code and they have a lot more control over their finances, their customers, and so forth.

Do you think that's going to be play a larger part in WordPress plugins?

Dave Rodenbaugh: I think that anybody who can make a SASS will probably start heading that direction. But with that said, There are many plugin and theme businesses in particular that you cannot Salsify. If that is a verb. Um, it is now I absolutely declare that SASSify is now a verb.

So you, you basically have. To ask yourself, this question is the value that my end user and customer receives. Is that something that is repeatable on a monthly or annual basis? And if it is, then you can probably make that into a SASS model. So like with recapture, my example here is that we're doing abandoned cart recovery and generating revenue for e-commerce sites.

So every month I can hand somebody a report to say, we sent this many emails, we made you this much money as a result of those emails. And here's how, what the conversions look like and all these other things. So that's a demonstration of ongoing value, but like with my business director, The value was captured right up front.

Like they would install it, they would configure it, they would set it up and then a year later it wasn't like they wanted to pay for the whole thing all over again. It's not like they got a new business directory. It's not like they got, you know, a totally different UI or a massive upgrade. They just got some minor updates and fixes.

So the value is captured mostly upfront instead of on an ongoing basis. And for businesses like that, you're not going to Salsify those. You're certainly not going to get people, you know, you might try to Salsify it, but I don't think you're going to get a lot of customers signing up for that. Because they're not getting that ongoing value and that's the difference.

So there's like a huge number of WordPress businesses, like themes. It's kind of difficult to capture that theme value on an ongoing basis, unless you have, like, I could see for freelancers, you could do theme subscriptions to say, Hey, we're going to have 15 themes this year. Next year, we're going to have 30.

After that, we're going to have 45. So we're releasing 15 new themes a year. If you're building freelance site. Great. Now you want an increasing library of things that you can offer your customers. I could see you. That makes sense in a freelancer paid plan, but for an individual, if I go and buy a theme, I don't need a new theme next year or the year after that.

David Bisset: What about support? Um, and a lot of business models go, you pay, you're paying basically. The support in for the maintenance and the bug fixes and that sort of thing. When, when do you think a product becomes mature?

Dave Rodenbaugh: Yeah, I, I don't know what officially makes something mature. I think there is a tension between bug fixes, new features and customer demand.

And when you kind of satiate the customer demand for the new features, and you've gotten to a point where the bug fixes are in. So you're not throwing out a new major fix every month then. Yeah. Something like that would end up being mature. So a great example of that might be Yoast SEO, right? You're not seeing like huge major new SEO updates coming out every single month that Yoast is having to put out if there's a major Google update.

Yeah, sure. They do an

David Bisset: update. I get an email like every other week from them, but I'm guessing it's Google updates.

Dave Rodenbaugh: It's probably a little stuff in Google updates in there, but yeah, I mean, I would consider that a pretty mature product that, you know, there are some tweaks that go in there and I, you know, I don't want to downplay the amount, uh, that the Yoast team puts into that. Cause it's huge and SEO is complicated, but it's definitely a very mature product because people aren't like, Hey, I need you to support this very basic thing out here that nobody's ever supported before. Like they've got that stuff covered. They have a lot of complexity in their product, a lot of configuration options, et cetera.

And then there's like newer stuff. So this might be more or less. Gutenberg blocks that are new and novel that do something that nobody else has ever done before, or that yours is the better one to do this slider or this kind of a layout or whatever. Something like that, that kind of stuff is more cutting edge because Gutenberg is not, well, it's getting more mature, but it isn't as mature as say other aspects in WordPress.

David Bisset: Right. I like to remind you, I, like I said, I do have a teenager in high school, so yeah. I'm the maturity is a subject I'm somewhat familiar with it. Yes.

Dave Rodenbaugh: Yes. Uh, I I'm, I'm right there with you, David. I have a teenager. Who's almost about to graduate high school and another one coming in.

David Bisset: Me too, this year.

Dave Rodenbaugh: Year. Hold his years.

David Bisset: 17.

Dave Rodenbaugh: 17. Yeah. Mine's 17 two. And I also have an eighth grader right behind her. So next year I've got two in, at the same time. So

David Bisset: it comes to maturity. Yeah. Some things, some things will mature faster than other. Whereas a developer as a company. I mean that, that's, that's kinda like a problem you would like to have, because I think before you get to that, you're, you're so busy.

You're doing 10 different things at once, especially if you're like a freelancer or a solo developer. Um, and you know, I've always been freelance for a very long time before I joined a few companies. So I always come business wise. I always come from the aspect of me starting something myself. Me alone, juggling so many balls in the air.

Um, have you ever had to outsource anything in the early days of capture or now, or any of your businesses? Um, even if it was, um, I don't know any, anything from financing or marketing or anything like that?

Dave Rodenbaugh: Um, yeah, actually I have and outsourcing is super valuable to me at this point because there are certain things where.

I, you know, there's a lot of stuff that I can just do because I've had to do it over the years. I've had no choice. So that means I was part accountant, part marketing person, part janitor, part, um, you know, developer part, customer support, just whatever. So you, you wear all these different hats and you can do all of these things.

But the problem is, is that you are the Jack of all trades master of none. Right. And. There are people who are very, very specialized at those things. And at some point making them be the owner of that piece is more valuable. So here's an example. So when I bought recapture, I was still freelancing at the time I still had the plugins.

So I was doing customer support over there and I was still doing product management. And then of course I was doing my own development. And then I had recapture on top of all that. Well, when I bought it , it didn't come with a staff. It was just the guy who was the two brothers that were running it. And I bought it from him and nobody came with him.

They didn't come with a plugin, then they didn't come with it. No, they were like, here, it's yours. Good luck. And

David Bisset: well, insert my children joke here later, but go.

Dave Rodenbaugh: Yes. Uh, so the problem immediately became, I had customers that were asking for new features or bug fixes, and I couldn't do any of that stuff just yet.

I mean, I could, if I invested the time, but a lot of it was time sensitive. So initially what I did is I paid one of the brothers that sold it to me to consult on certain things. Cause he could do things the fastest and he was willing to do that. It was part of the contract that we sold. Anyway.

David Bisset: There's usually that coverage period, you know?

Dave Rodenbaugh: Right. But the coverage period is only like 90 days. And I think I had him come and help me for like six months. So he was very nice. And was willing to do that, but it was clear that, you know, I needed more than he was able to give and he didn't really want to keep doing it for the longterm. So that's when I basically had to like go and outsource to somebody else.

That was more full-time. So I had, you know, cashflow from recapture itself. So I use that to invest in a developer who is now my tech lead for recapture. And, you know, he's been working on it for five years, but basically I made a decision early on, I am not going to do the technical development aspects of this SASS.

I'm going to let somebody else do it. I just, I can't do it and this other stuff. So I had to outsource something that was what I chose to outsource and I totally don't regret it. He has taken ownership of all that, and it worked out.

David Bisset: So, um, so what's your tip in terms of how do you know when it's time to outsource something?

Dave Rodenbaugh: When is it time to outsource something? So I would say it's a combination of, do you have. Some kind of way to pay somebody to do that. So like, if you are, you need income, you brand new, you need to have some kind of income, but it doesn't have to be from your project. So here's, here's, here's the caveat. I would say that if you are a freelancer and you are pulling in a nice salary and it more than covers your living expenses and you're putting stuff in savings, save that up for awhile.

And then you could use that savings to pay for somebody to out source something while you're doing something else. So you can leverage that time, that money in a different way. I always would buy something that was making income so that I could use that income to help hire somebody else. And that way it didn't have to come out of my savings personally, cause I already spent the money on the business and I didn't want it to spend a second time.

So those are the two, two ways that I would end up funding that. But if you are by yourself, you don't have that money. You're just getting started. Or you're kind of new to the whole thing. I would strongly encourage you to just try to wear all those different hats and become that Renaissance person.

Right. It's good to know what all those things are because eventually in order for you to outsource it, you have to understand it well enough to tell somebody else exactly what you want. And it's hard to do that if you haven't had experience in that yourself.

David Bisset: And I imagine too, that it helps. Not that everybody has the luxury of the privilege of this, but it also helps if you are starting brand new with a plugin, the rebuild helps to know if you do have plans on growing that beyond just simply what it is.

And because you, the sooner you start some sort of path to some sort of monetization, the faster you can have that money, automotive and buyer gallery, all these others, they have a pro version people pay and that's the, those people are actually paying support people to help with the light you know, the repo, The light versions in the repo and the support there that's being financed there.

But I mean, if you're starting from zero, um, it's charity at that point until, I guess, like you said, you gotta find the money from somewhere. If you get to a certain, certain scale. So what's your advice or what's your take on how much attention, um, business owners and entrepreneurs should be paying attention to in the WordPress space when it comes to competence?

Dave Rodenbaugh: That is a fantastic question. And the truth is you can be in one of two camps, so you can either focus solely on your competitors, or you can kind of ignore them. And if you're ignoring your competitors, then you should be paying very close attention to your customers. And, oh, I like to mix the two of those.

So like, I'd like to be aware of what my competitors are doing. Sometimes ideas come out of that sometimes like, Uh, I wasn't fully aware of what GDPR was until I saw some of my other competitors posting things. Hey, we're going to become GDPR compliant. Hey, GDPR is coming down the pike. Here's what you need to know.

And I'm like, what the heck is GDPR? And that's when I dug into it and I'm like, oh boy, I really need to take care of this because this is going to hit. Ton of bricks. So, um, you know, so you should be aware where your competitors at, you know, knowing about your competitors will help you understand what are their pricing models, who are they focused on?

Like understand who is the right customer for your competitors. But with all that said, you need to like, look at your product, your market, your audience, and. Understand them and talk to them deeply. And by knowing your competitors, you can say, look competitor a over here, they do all of these things, but that's too complicated because you're not making as much as the, the hundred million dollar a year business that uses this tool over here.

You're down here. And this is why we're better for you because we are simpler. We're easier to use. We're more focused on this. We have better support, blah, blah, blah, whatever your competitive advantages are, but you can't do that. If you don't at least understand your competitors, but you know, don't focus solely on your competitors.

If, if all you do is watch what your competitors do, and then repeat that you're always going to be behind. You're never going to be a market leader in that. So you have to have some awareness, but at the same time, really just be focused on your customers. That's my, that's my approach.

David Bisset: The uniqueness, is that something that you would probably say it would be good advice to, to people who doubt that there's any space left in the WordPress ecosystem for whatever product they're thinking of?

Dave Rodenbaugh: Uniqueness is, um, there's always some space left. So here's a great example. If you were to say, what is the most crowded space in WordPress? And, you know, you could probably give several examples, but I'll give one of the most obvious ones for. Right. You've got all the different form plugins that are out there.

You got formidable forms and ACF and, um, the WP forms and ninja forms and, you know, blah, blah, blah, blah, blah. Right. There's tons and tons. Gravity forms, tons of competitors out there, but yet there are new ones that come out all the time and. There's always an opportunity to look at that space with a fresh new approach.

So this is like, uh, you know, side bulky from automotive, talked about this when they released their competitor in there. And I'm pretty sure this is WP forms, but, uh, if I misspoke, it's basically the one that Syed

does

David Bisset: the one. It's the one with the bear.

Dave Rodenbaugh: Yeah, yeah, yeah. So that's the one that basically is focused on.

Uh, users that are non-technical and need the most hand-holding and have the most basic set of version of a form functionality available to them. So it's, it's kind of the polar opposite of like ACF by Brad, Tanard and delicious brains. Right. There's is like the most customizable, the most developer friendly, the most.

Everything product that you can think of out there. And Syed is the opposite of that. And yet both of them are serving very successful markets and Syed's came in like years after all the other competitors were out there and, you know, carved out a new niche. So, you know, if you can look at a very hot space in WordPress, it could be payments.

It could be e-commerce, it could be forms. It could be themes. Any of these things. If you could come up with a unique approach that serves an underserved market, then you can be successful out there. Don't come in and try to pick like the teeniest tiniest niche ever, and then hope that you can expand from that.

If there's no demand, you're going to have a hard time making that product work. So it's, that's my advice is that, you know, pick markets that have energy that are, um, interesting that have customers. Demanding things that are, you know, shuffling money around because that's how you're going to get your solution out there and find somebody to pay for it.

Each form. Competitor that's out there. They all kind of focus on different things. Some of them are focused on certain verticals, some of them on, you know, technical versus non-technical. And you just have to find that thing that you can go in and say, I can offer a solution to this group of people that need this thing that isn't served by these other products.

That's a successful, um, that's a successful product in a crowded. It's been a

David Bisset: pleasure talking to you and, um, let's, let's have people figure out where you are on the web to be able to follow you and reach out for more Sage wisdom that you may spew out from time.

Dave Rodenbaugh: Well, I don't know about Sage wisdom, but if anybody does want to talk to me about business, whether it's WordPress or non WordPress or SASS, or, uh, anything else, uh, you can reach me on Twitter at Dave Roden.

Last name is spelled R O D E N B a U G H. Or if you're interested in checking out my SASS, that is recapture.io and we support a variety of WordPress platforms that you are likely using if you're in the WordPress space. So please come check it

David Bisset: out. And you're also in post status. Slack is.

Dave Rodenbaugh: I am very regularly.

It is one of the few places that I check on a daily basis.

David Bisset: Yes. Well, thank you very much, Dave. Really appreciate it. And we will see you out there.

by David Bisset at March 01, 2022 10:15 PM under The Excerpt

Post Status: Post Status Comments (No. 7) — The State Of WordPress Admin Notifications

“The only folks able to do a free plugin are ones that are supported by a big corporation…” — Matt Cromwell

“They suck” might be one way to describe the state of WordPress admin notices as a whole, but that doesn't help us very much, does it? David Bisset is joined by Matt Cromwell, Jon Bossenger, Aurooba Ahmed, and several guests to discuss the current pain points and possible technical solutions. Why do developers overdo admin notices in the first place? Learn about WP Notify, how it approaches the problem, and how the WordPress community can help make this the core solution.

Post Status Comments 💬 is a stage for WordPress professionals to exchange ideas and talk about recent topics and trends.

Browse past episodes and subscribe to our podcasts on  Spotify, Amazon Music, Google Podcasts, iTunes, Castro, YouTube, Stitcher, Player.fm, Pocket Casts, Simplecast, or get them by RSS. 🎙

🙏 Sponsor: StellarWP

We are a collective of WordPress innovators, empowering business owners and creators with plugins and tools to help them thrive. We build great plugins, but we don’t stop there; we continually challenge ourselves to keep innovating and improving.

Our solutions include the most trusted names in WordPress, with more than 2.5 Million installs. Since 2021, we’ve grown to encompass seven brands and dozens of plugins.

StellarWP is part of the Liquid Web family of brands.

🔗 Mentioned in the show:

Follow Our Panelists (and Post Status) on Twitter:

by David Bisset at March 01, 2022 09:26 PM under Post Status Podcasts

WPTavern: Strattic Acquires WP2Static  Plugin, Plans to Relaunch on WordPress.org

Strattic, a WordPress hosting company that creates static files managed via a headless install, has acquired WP2Static, an open source plugin for generating a static WordPress site. Leon Stafford, the plugin’s creator, has been working for the company for the past nine months and will continue to maintain WP2Static.

In 2020, Stafford removed WP2Static from WordPress.org after the downsides of hosting in the directory began to outweigh the benefits for his project. He cited WordPress.org’s lack of a straightforward way to alert users to important updates, users abusing the Reviews section to file issues, the inability to disable support, and the cumbersome plugin release process.

WP2Static is a tool aimed more at DIY users who want to manage their own static site generation, but Stafford found that hosting on WordPress.org often brought the plugin to users who didn’t fully understand its function.

“It was almost too easy for people to install WP2Static/Static HTML Output when in the wp.org repository,” he said. “This lead to quite a few people installing it on their live production servers and expecting some magic performance improvement, which is not the way it’s intended to be used.”

Acquiring WP2Static allows Strattic to funnel the less technical crowd to its hosting services, as well as those who prefer a more managed experience. At the moment users get updates from the WP2Static website, or via the Composer package, or GitHub download. Strattic plans to relaunch the plugin on WordPress.org to improve its discovery, installation, and update process.

“While Leon was focusing development primarily for the open source/GitHub users of the plugin, we’d like to get this static site solution helping as many WordPress users as possible and for that, the WordPress repository makes it the easiest experience for them,” Strattic CEO Miriam Schwab said.

Schwab said prior to acquiring WP2Static, it was already generating high quality leads for Strattic, as Stafford had listed the company as an alternative to using the plugin.

“We expect this trend will continue and grow now that WP2Static is part of the Strattic family,” Schwab said. “WP2Static is an excellent option for users who want to test the waters with static WordPress in a low-commitment way, and also for users who are more ‘DIY’ and get excited about building their own infrastructure and architecture for their websites, and maintaining it on an ongoing basis.”

Strattic will be marketing the plugin as a starting point. Users who outgrow WP2Static will be encouraged to look to Strattic for more complex functionality, such as dynamic plugins, forms, search, 301 redirects, SEO plugins, multi-language, and other features not supported by the plugin. Schwab said they do not currently plan to rebrand WP2Static but are considering revising its name to “WP2Static by Strattic.”

by Sarah Gooding at March 01, 2022 09:16 PM under strattic

WPTavern: WordPress Multisite Is Still a Valuable and Often Necessary Tool

Rob Howard rocked the boat last week in calling for the deprecation of WordPress multisite in the latest MasterWP newsletter. He argued that “the brave and noble add-on is no longer necessary or valuable to developers.” The responses via Twitter were swift and in disagreement.

Before WordPress 3.0, multisite was an entirely separate system called WPMU (WordPress MultiUser). It was a mess to set up, and one of the best things to ever happen to it was that it was rolled into core WordPress. It became a first-class citizen in the WordPress world, and its setup is now simple enough that nearly anyone can get a network up and running in no time.

I have not used multisite much in my career in the WordPress space. My primary use case has been for setting up theme and plugin demos. These are sites that I do not intend to touch much outside of their initial setup. Multisite always makes it easy to manage theme and plugin updates from the network admin.

Howard argued that this is no longer necessary in today’s world:

Likewise, sharing themes and plugins between sites no longer seems like a benefit to developers or end-users. With one click, we can deploy a parent theme from a Git repository to an unlimited number of sites hosted anywhere in the world – so what’s the real value of having a theme on the Multisite network?

Even with the vast tools available for deploying such things via Git, sometimes I prefer to avoid complicating matters. I can work in the command line well enough, but having that central location to manage all of my sites in one place is simpler. The argument also leaves out an entire segment of users who run multisite and have never even heard of Git. Multisite is sometimes a user tool.

The most complex multisite setup I have worked on was for a university. I was contracted to do some development work for another WordPress agency a few years ago. My focus area was extending the user role and permissions system.

The network had sites for each school, department, and various other projects. Setting all of this up on multisite allowed the permanent dev team to create new sites on an as-needed basis instead of spinning up an entirely new WordPress install. Everyone also had user access via their university email and password. It is possible to share a user database via multiple single-site installs, but it adds another layer of complexity that does not exist with multisite.

I cannot imagine the agency running this through 100s of individual installs. I am sure that some systems would make this easier, but a solution already exists in WordPress.

My multisite experience is limited. However, I have routinely talked with and helped fellow developers actively working on networks with 1,000s of sites in the enterprise and education sectors. It is almost a given that they are running multisite for every job.

WordPress co-founder Mike Little explained why multisite is often necessary for his work via Twitter:

Of course, I manage a hundred single instances too, a couple of them are 3-6-site multisites, but most are single (and should remain so). But one client of mine has close to 450 sub-sites on one of his multisites. That would be impossible to manage as separate sites.

Around 1K users per subsite, up to 100+pages of content created/day during an event. etc. It’s also constantly being developed.

Rolling out fortnightly code changes to 400+ single sites (not mentioning there are more than a dozen other instances with up to 50 sub sites each) would be unmanageable. And this isn’t a for profit org, so doesn’t have unlimited funds.

I have sat on this article since last Wednesday. At the time, I was ready to leap into the fire and defend multisite. However, as the responses rolled in via Twitter to the MasterWP article, I was disheartened by a few of the responses from the WordPress community. I did not want to feel like I was piling on.

The world of social media has made knee-jerk reactions all too common and uninviting to those outside of the inner WordPress circle. There is too much pressure to not say the “wrong” thing that so few end up saying anything worthwhile — or at all. Fortunately, there is still some thoughtful discourse, such as the response article by Maciek Palmowski on WP Owls and from others on Twitter.

Perhaps Howard was really just writing a click-bait article. However, because he only recently became the new owner of the MasterWP newsletter, I felt like I owed it to him to believe he was attempting to generate sincere discussion. Maybe his conclusion of deprecating a vital feature for many was off-base, but the conversation around problems with multisite is worth having.

Regardless of the merits of Howard’s argument, it did lead to an idea that might just be worth exploring. Alain Schlesser tweeted:

I’d prefer for single-site to be deprecated instead, to not have a random differentiation anymore. Everyone just has a network, but some only have a single site on them. Would simplify everything…

I do not know what such a WordPress would look like, but I do know that it could simplify the multisite installation process if there were only one way of doing it. Perhaps there would be fewer edge cases, plugin issues, and wrinkles that developers need to iron out if there were only one flavor of WordPress.

by Justin Tadlock at March 01, 2022 02:13 AM under Opinion

February 28, 2022

WordPress.org blog: People of WordPress: Tonya Mork

In this series, we share some of the inspiring stories of how WordPress and its global network of contributors can change people’s lives for the better. This month we feature a website developer and engineer from the US, who found the software and its community provide the impetus to keep her going forward.

WordPress gave Tonya Mork a new lease of energy after a health crisis from which she nearly died. She had spent two decades as an electrical and software engineer in high tech automated manufacturing. But when she discovered the WordPress software, teaching it to others became her new purpose. Through this discovery, she has gone on to help thousands of developers understand and build code in great depth.

As part of her WordPress journey, she has shared her skills in the roles of Release Coordinator and the Core Tech Editor for the most recent major WordPress release, 5.9 Joséphine. 

Tonya pictured in her work room

Life takes an unexpected turn

For the first 22 years of Tonya’s life, she rose through the ranks from enlisted personnel in the US Navy to a highly sought after chief engineer with a multi million-dollar industrial automation engineering firm.  

However, while she was working in engineering, her life was to change dramatically. In 2007, Tonya started to face health challenges that had an impact on all that she had known.

“My career defined me. It was my canvas and my art. When it was gone, I did not recognize myself.

Tonya Mork

One day, she woke up at home ready to visit a client’s facility where her firm was building a robotic system. She said: “As I headed for the door, I fell to my knees, as this wave of pain crushed down on my chest.”

Doctors diagnosed her with a very rare heart disease that caused her blood vessels to spasm, cutting off blood to whatever was downstream of the blockage. 

A few months later, she was diagnosed with a second rare and more serious condition, related to the migraines from which she had been suffering. Combined with her heart condition, this made every migraine attack life-threatening.

For nearly seven years, the unexpected changes to her health left her mostly homebound and constantly monitored. This meant she had to close her engineering firm and say goodbye to staff and clients. 

“My career defined me. It was my canvas and my art. When it was gone, I was lost. I didn’t recognize myself.”

But in her darkest hour, she found her strength. Tonya made a choice to move forward, and make the most of her life.

“When you are at rock bottom, you have to make a decision or else it will consume you. My decision was that I chose to be happy,” said Tonya.

One of Tonya’s first steps was to start writing a blog using WordPress. In this she shared insights on how to find peace and joy in any situation. She wrote about kindness and helping one another. 

The joy of making solutions through WordPress became a way for Tonya to accept her new life and not feel as limited by her health. She wanted purpose, and in WordPress, she found just that.

Tonya felt she could do something worthwhile in the virtual world. 

A ray of hope for Tonya

In 2013, Tonya’s health deteriorated further. She was admitted into intensive care and was diagnosed with a third rare disease, this time related to her autoimmunity. She was not expected to survive this time. 

Following what she describes as a ‘miraculous recovery,’ she became stronger and was able to stop relying on a wheelchair. She used the energy from working on websites to keep going. “WordPress kept my mind alive,” said Tonya.

She had first used WordPress for her engineering firm’s intranet. But when she discovered the software’s full potential and the collaborative opportunities of open source, it opened a new world. 

“Finding WordPress helped me to find myself again”

Tonya Mork

During the years which followed, she donated her time to build some WordPress websites and plugins. She said: “Through giving my time, I was able to do something other than sit in isolation.” 

Tonya was amazed by the sharing in open source in general and in WordPress in particular. She said: “I was amazed to see people sharing so much information freely with one another. In my former engineering world, information was proprietary. Throughout my career, I had worked to break down those silos and help anyone to understand complex systems. I was drawn to this open community.” 

She also became aware that WordPress developers were hungry to learn more about development. She wanted to be part of the solution with her passion for teaching and the knowledge she had gained in industry.

She said: “Finding WordPress helped me to find myself again. Here in this community, I was able to feel like a person again, not a sick one, but a professional with something to give.”

As her interest in the software grew, Tonya decided to start a non-profit where she turned to WordPress to build the websites. This re-sparked her interest in programming. She said: “I wanted to really know the code and understand what made it tick.”

The realization led Tonya to start the WP Developers’ Club, which in turn spawned Know the Code, to help educate individual developers, and is still used today.

From helping WordPress companies to working on WordPress Core

Tonya pictured with her dog

Tonya went on to work with big and medium size WordPress companies helping their developers and supporting them in raising their firms’ leverage with WordPress.

By late 2020, she knew she wanted to do even more with WordPress.

In February 2021, Tonya joined an international firm in the ecosystem and began working closely on WordPress Core.

At that time, WordPress Core was pulling together a new Triage team. Tonya started volunteering on that team to find collaborative solutions, and help others do so. In 2020 for WordPress 5.6 Simone, she became the release’s Triage lead, and again for WordPress 5.7 Esperanza

In 2021, she became a Test Team Rep and helped to expand the team and is an advocate for the value of testing and feedback in the release development process.

A new, successful chapter with WordPress 5.9

Tonya was one of the notable contributors to the WordPress 5.9 release featured in this picture.

Tonya’s passion for the software and getting people involved in its growth continued. For the WordPress 5.9 release in 2021, she took on the role of both the Core Tech Lead and the Release Coordinator. As this was a big release and included the first major implementation of Full Site Editing, it had many moving parts and hundreds of contributors. She was able to share the skills she had learned in communication and project management from her days streamlining and documenting engineering software and processes. 

In the first 24 hours of WordPress 5.9 landing, it had more than 10 million downloads—and 17 formally reported bugs.

Giving back to open source

Now in what Tonya describes as her third chapter. She said: “I’m a very different person from the engineer I used to know. What really matters in this world is when you reach out and make a difference in someone’s life.”

She feels she has found her purpose in this life. “I’m on a mission to give back and make a difference. Teaching is how I will do it. And in WordPress I have found my professional home, and I have all this software knowledge that I just want to share.”

Share the stories

Help share these stories of open source contributors and continue to grow the community. Meet more WordPressers in the People of WordPress series. #ContributorStory.

Contributors to this feature

Thank you to Tonya Mork (@hellofromtonya) for sharing her story. 

Interviews and feature by Abha Thakor (@webcommsat) and Mary Baum (@marybaum). Reviewed by Chloe Bringmann (@cbringmann), Nalini Thakor (@nalininonstopnewsuk), Meher Bala (@meher), and Anjana Vasan (@anjanavasan). Photo editing Reyez Martínez (@rmartinezduque) and Jean Baptiste Audras (@audrasjb).

Thanks to Josepha Haden Chomphosy (@chanthaboune) and Topher DeRosia (@topher1kenobe) and others for their support of this initiative.

HeroPress logo

This People of WordPress feature is inspired by an essay 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 might otherwise go unheard. #HeroPress

by webcommsat AbhaNonStopNewsUK at February 28, 2022 11:55 PM under Test Team

WPTavern: WPExperts Acquires Post SMTP Plugin

WPExperts, a Pakistan and Egypt-based WordPress development agency with more than 120 employees, has acquired the Post SMTP plugin from its former developer, Yehuda Hassine. This is the agency’s second acquisition this year, after picking up Rich Tabor’s Login Designer plugin in January.

The Post SMTP plugin is a fork of the Postman SMTP plugin, which was closed by WordPress.org in 2017 due to an unfixed security vulnerability. Hassine, a longtime user of the plugin, fixed the vulnerability, forked it, and renamed it to Post SMTP Mailer/Email Log. He grew the plugin to more than 300,000 active users, managing its development and support by himself, before becoming too busy with his full-time job.

Post SMTP improves the delivery of emails that WordPress generates and it logs the causes of failed emails to help eliminate configuration mistakes. Its chief competitors include WP Mail SMTP by WPForms (2 million+ installs) and Easy WP SMTP (600,000 installs). WPExperts plans to continue the plugin’s free version and does not plan to release a commercial version. Instead, they are working towards monetizing it with paid add-ons.

“This is the biggest acquisition for WPExperts in terms of acquired plugin active users (300,000+),” WPExperts community manager Zubair Siddiq said. “WPExperts will enhance Post SMTP’s current UI, features, and support.”

Before selling Post SMTP, Hassine was working on six paid add-ons, which were included in the deal with WPExperts but they are still under development. The add-ons in progress include the following:

  • Office 365
  • Amazon SES
  • Sendinblue
  • Mail Control
  • Twilio Notification
  • Better logger

WPExperts founder Saad Iqbal said the acquisition is aimed at building additional revenue streams for the agency’s plugin shop. Post SMTP joins WPExperts’ collection of nearly 60 free plugins hosted on WordPress.org.

“I normally find plugins in .org and then contact the owner to see if they want to sell,” Iqbal said. “We are always looking to acquire cool WordPress plugins.”

Now that Post SMTP has moved to its new owner, users can expect development and support from a much larger team of professionals, as well as new commercial add-ons in the near future.

by Sarah Gooding at February 28, 2022 08:51 PM under Plugins

February 26, 2022

Gutenberg Times: Building with Blocks, Hyping Headers, 52 Themes and more – Weekend Edition 204

Howdy,

As many, I look with horror at the tanks and troops marching into the Ukraine. My heart goes out to all the people there, especially WordPress contributors. In Friday’s issue of The Repository, Rae Morey wrote on Standing by WordPress Folks in Ukraine with more details. We are here for everyone affected. If you need any kind of support, please reach out, and we’ll do our best to help as much as possible. Please stay safe!

If it feels hard to focus on work and projects, you are not alone. It’s ok. Take care of yourself.

Yours, 💕
Birgit

PS: If you are a developer, I hope to see you at the next Gutenberg Developer Hours on March 8th 11:00 ET / 16:00 UTC withe fabulous Tammie Lister, Fabian Kägy, and Grzegorz Ziolkowski as expert panelists.

In the post, February 8th Gutenberg Developer Hours – Session Evaluation I published the results from the participant survey. You can read all the comments and suggestions on the Core Make Blog.


WordPress and Gutenberg releases

Gutenberg 12.6 Release

Have a look at the Release notes by Andy Peatling What’s new in Gutenberg 12.6? (16 February) with the highlights:


Justin Tadlock headlined his post Gutenberg 12.6 Enhances Transforming Blocks, Adds Read More and Post Author Bio Blocks, and Enables Social Icon Labels


Gutenberg Changelog #61 Gutenberg 12.6, Planning for WordPress 6.0 and Universal Blocks Grzegorz Ziolkowski and I introduce Mary Job as the new co-host and discuss Gutenberg 12.6, Planning for WordPress 6.0 and Universal Blocks.

Hosting the Gutenberg Changelog episode #61:
Mary Job, Grzegorz Ziolkowski and yours truly.

I can’t tell you how thrilled I am that Mary Job joined me as co-host on the Gutenberg Changelog podcast. We first met at the online JavaScript For WordPress conference and I can’t believe it’s been four years already. Among other things, Mary Job has been a WordPress community organizer in Nigeria for many years, and works as support engineer with Paid Membership Pro plugin.

Earlier this week, Gutenberg 12.7 RC was made available, and you can download it from GitHub

Need a plugin .zip from Gutenberg’s main (trunk) branch?
Gutenberg Times provides daily build for testing and review.
Have you been using it? Hit reply and let me know.

GitHub all releases

WordPress 5.9.1 and 6.0

Coordinated by Jean-Baptist Audras and George Mamadashvili WordPress 5.9.1 was released on February 22, 2022, and provide 85 bug fixes over all components: Twenty-Twenty-Two Theme, Global Styles, Navigation block, Media Library, Gallery block, other blocks and theme.json. Estela Rueda provided a list of all the PRs announcing the release candidate.

Chloe Bringmann published in her WordPress 6.0 Planning Roundup the preliminary WordPress 6.0 schedule:

  • Feature freeze March 29th, 2022
  • First Beta release on April 12, 2022, 
  • First Release candidate May 3rd, 2022 
  • Final release on May 24, 2022

The release squad shows still a few open slots. If you consider joining the release squad, read up about responsibilities and leave a comment on the post.

  • Editor Tech 
  • Triage Lead 
  • Test Lead
  • Design Lead
  • Accessibility Lead

Updates for Site builders and Content Creators

Anne McCarthy just published new instructions for testing Full-site editing in their FSE Program Testing Call #12: Hyping Headers. The instructions guide you to customize a header using everything from the navigation block to template part focus mode. Then you will reuse this personalized header in a different template.

You’ll also explore how patterns are integrated into the experience, new dimension control options, and improved UX for the navigation block.  Deadline for your feedback is March 16, 2022.


Prithu Thakuri explores in her article on WPMayor WordPress Full Site Editing (FSE): The Features and their Impact on Users and Businesses. She first explains the four components of the full-site editing experience and then for each WordPress user group she summarizes what impact there might be and how best to handle old and new projects regarding adoption.


In WPTavern’s new series “Building with Blocks”, Sarah Gooding shared How to Build a vCard Website with a Video Background. She estimated you could accomplish the task in under five minutes, using a blank canvas template or theme, a few core blocks and a background video from a service like Pixabay.


In the SDM Show Episode 197: The Move to Gutenberg and The Roadmap to WordPress 6.0, Rob Cairns sat down with Matias Ventura, lead architect of Gutenberg at Automattic, and me to discuss Cairn’s site move to Gutenberg/Blocks from a WordPress Page Builder. We also took a closer look at the roadmap WordPress 6.0.

Training and Learning

The newest Learn.WordPress workshop: “Building Sidebars With the Site Editor” with Sarah Snow in which you learn how to use the site editor to add a sidebar automatically to any post, page, or template.

Full Site Editing Courses published on Learn.Wordpress.org

A total of 29 Lessons will get you up and running with the new Site Editor, template editor and Styles controls for your website.

Sometimes, intuition is not enough to master a new set of technology tools. Occasionally, you need to read the manual or have someone show you what is possible to figure out what you want to do with it.

Block themes

Fifty-two (52) block themes, ready for full-site editing, are now available in the WordPress repository. The latest additions are

If you used any of them, let me know how they worked out for you!

According to Ana Segota, the block theme Bricksy received an update:

  • handwritten images are replaced with a script font for easier customization
  • added Dark Mode, in case the Gutenberg plugin activated.

Rich Tabor blogged about his Wabi block theme. “With Wabi, you may pick an accent color for each post and “theme” that content, providing a clever design layer to compliment the theme’s minimal style.”

Jamie Marsland uses the Wabi theme in his latest YouTube Video: This Gutenberg Block Theme is the future of WordPress

Ellen Bauer, ElmaStudio – creators of the Aino Theme, explains briefly in her latest Tiktok video the feature set that creates a full-site editing experience.


Plugins for the Block editor

Aurooba Ahmed is on a roll producing new plugins for the block editor almost every week. The newest plugin, Quick Post brings back the highly used Add New Post button to the top toolbar of the post editor.

Justin Tadlock’s review is available on WPTavern: QuickPost Plugin Allows Users To Create New or Duplicate Posts from the WordPress Content Editor


Developing for Gutenberg

Nathan Wrigley produces now weekly podcast episodes for the WPTavern Jukebox. In episode #14 he hosted Dave Smith, Isabel Brison and Joen Asmussen team members at Automattic and who worked on the new Navigation Block. Learn more about the guests’ various backgrounds, and a look behind the scenes of building one of the most important blocks for a website.


The second session of the Gutenberg Developer Hours saw 100 people register and 47 attending. The raw recording is available on YouTube. Huge thank you to our expert panelists and facilitators Joni Halabi, Daisy Olsen, George Mamadashvili and Nick Diego.


On Make Core block, I published a Proposal to Start a News blog on developer.WordPress.org. We worked on this in a team of a few people, before it was published. It now needs your comments, ideas, and support.

Around Themes and Site Design

The Theme team published again their roundup of current discussion, new features and updates in Gutenberg + Themes: Week of February 14th, 2022. For instance: You can now register patterns from directory with theme.json. (coming to the plugin in 12.7 version)

They also highlight a new page in documentation that provides a high-level intro to how styles work in the block editor: Explanation > Architecture sections for Styles.

Have a look at the full post


In the Theme team’s handbook, the page Converting customizer settings to block patterns has been updated by Carolina Nymark to showcase a conversion assuming a real-world example.


Channing Ritter from the WordPress Design team published her Design Share. Among other topics, she highlights work in progress for

  • Advanced template creation
  • Using featured images in various blocks
  • Pattern fills in overlays

Ritter stated that these team updates will be published on a bi-weekly basis. You could subscribe to the tag feed of #design-share in your feed readers

Check it out and chime in on various design questions.

Detail from larger mockup

Justin Tadlock picked up on a discussion on Twitter about how naming things might be confusing in the FSE WordPress space and clarified a few things in his post Block, FSE, Hybrid, Universal? What Do We Call These New WordPress Themes?


In her post, Gutenberg Contributors Explore More Advanced Template Creation Sarah Gooding followed a discussion started by James Koster on GitHub. She shared Koster’s video, and then quotes from the discussion around template creation for Custom Post Types. It would allow site administrators to eliminate a lot of hard-coded template PHP from their sites and provide a way for users to update their CPT templates themselves.


Carolina Nymark announced on Twitter that her Block Theme Generator provides now optional theme.json settings, and you can choose colors and content widths. She also updated the Advanced Theme version to include an example for global style variation.

Proposal for Standardized Design and CSS handling

Mark Root-Wiley posted a comprehensive outline of how styles could work with the block editor and full-site-editing. Standardized Design Tokens and CSS for a consistent, customizable, and interoperable WordPress future.

The accompanying proposal is discussed on GitHub: Proposal: Standardized block markup, theme.json design tokens, and CSS classes to improve interoperability. Only a couple of days old, the proposal attracted already thoughtful comments from developers. They also highlight issues previously raised on the repository that would benefit from a standardized architecture.

Justin Tadlock posted his thoughts on the WPTavern in The Case for a Shared CSS Toolkit in WordPress.

Custom Blocks and Tools

Sometimes, new and experienced developers get tripped up by Block Deprecation and Validation. Ryan Welcher took a Look at Block Deprecation Strategies in last week’s YouTube/TwitchStream session. He discussed how to deprecate changes in static blocks and showed how you can convert an existing static block to a dynamic one.


Leonardo Losoviz outlines in his post Using The WordPress Editor And CPTs To Configure Plugins how to use wp-admin to provide additional configuration UI for plugins users and creators.


In the developer focused part of WPTavern’s Building with Blocks series, Justin Tadlock walks you through the steps need to build a “Scotch Tape” Image Block Style. Block Styles are a great way to extend core blocks with CSS and give site owners more choices for their blocks.


With the new release of ACF Blocks, the plugin is now compatible with Full Site Editing. Using ACF Blocks is a popular way to create custom blocks without using React. “With 5.12, ACF Blocks work everywhere” wrote Iain Paulson.

Upcoming WordPress Events

Learn.WordPress Social Learning Spaces

WordFest Live starts March 4th, 2022

With 60 Session around the timezones of this planet is had also a session for you! I selected a few to get you curious.

Have a look at the WordFest Live schedule!


Featured Image: Photo by Topher DeRosia on WordPress Photos Directory.


Don’t want to miss the next Weekend Edition?

We hate spam, too and won’t give your email address to anyone except Mailchimp to send out our Weekend Edition

Thanks for subscribing.

by Birgit Pauli-Haack at February 26, 2022 06:43 AM under Weekend Edition

WPTavern: FSE Outreach Round #12: Building a Site Header With Blocks

On Wednesday, Anne McCarthy announced Round #12 of the FSE Outreach Program. As always, everyone is free to join by testing features and providing direct feedback on problem areas with the design tools in WordPress. Anyone interested should respond by March 16.

For this round, volunteers are tasked with testing some oldies but goodies. Early in the program’s history, anyone who joined did a lot of site header and navigation work. Round #12 asks that users revisit some of these essential tools.

This was an exciting call for testing for me. In early 2021, I had my fair share of frustrations with the FSE experience. There were so many designs I wanted to tackle, but I far too often fell short of creating what I wanted.

Therefore, I hopped back in time and revisited a header design from Round #4 of testing in March 2021. At the time, the WordPress leads were weeks away from deciding whether some FSE-related components would land in WordPress. My conclusion of the tools at the time was:

I came to the realization that attempting to do anything remotely advanced with the site editor was simply not going to happen…As someone who prides himself on near-infinite patience, Round #4 sought to crack me.

I had wanted to recreate elements from the UK-based Pho Cafe page header during testing. It was a tall order that could not be filled.

Pho Cafe header.

However, almost a year later now, how much has changed? Is it possible to create an exact replica of the site’s header from the block editor?

Yes and no. As usual, it depends.

As a developer and designer, I am confident that I could do it with custom code. Considering this would likely be a one-off design for a paying client, I would be comfortable with that.

Creating this as a part of a publicly-released, general-purpose theme would have a ton of roadblocks with that level of customization. However, it would be possible to capture much of the character, the essence, of the design.

As for building it directly from the block editor, there are still some severe limitations. However, that is what I challenged myself to do. I wanted to get a feel for where the site editor was at without writing CSS code.

The following is the result:

Pizza restaurant header.
Pizza photo credit: Jennifer Bourn

Technically, I did write a little code to load the KG Happy font. Outside of that, I just forked a block theme I had on hand and changed the “wide” size. I created everything else 100% from the site editor.

Here is a screenshot of the design from the editor itself:

Custom header template part in the site editor.

On the whole, this went surprisingly well. In a year, the site editor has become far more powerful.

As I said, it still has its limitations. Anyone who has worked with block themes will likely tell you the issue with the layout in the above screenshot. The problem area is the Columns block used for the Site Logo, Navigation, and Buttons across the top. You might as well hang up any hope of that working well on smaller screen sizes.

Mobile view of header.

Is it entirely unusable? No, but it is not anywhere near close to ideal.

Without responsive controls on layout-type containers like the Columns block, designing anything complex with the site editor can sometimes feel like one giant hack. At this point, this is not a revelation of any sort.

There are tons of improvements with block design tools in comparison to last year. The core block gap, margin, and padding controls are a godsend for adjusting vertical and horizontal spacing. Back then, even the thought of having any control over this was a headache-inducing affair. Except for a few blocks still missing these options, it is now [mostly] stress-free.

I hit no spacing-related problems in this experiment. That feels gratifying to say after over a year of testing FSE features.

However, I did hit some other roadblocks. The Navigation block may be my least favorite thing about the site editor. I have yet to see how it will offer a universal system that plays well with the 1,000s of design variations that theme authors will want to employ. Classic nav menus are still vastly superior for custom design.

I ran into two primary issues with this experiment. One of the problems I had a year ago with FSE Outreach #4 was creating a menu that had button-like links. This basic design is still impossible with the Navigation block, at least with the core design tools:

Button-like navigation items.

Users can add a background to the entire Navigation block but not to the individual menu items. How did I do it? I used a Buttons block instead.

The more I think about it now, the more I like the Buttons block alternative. However, there is no way to wrap this in a <nav> tag to define it as a navigation element.

One missing piece of the header I was attempting to replicate was a mobile menu at the far right of the layout. WordPress’s mobile Navigation menu icon provides no customization options. Users can customize the overall background and text color but not target the button directly. I faked it a little by narrowing down the column:

Mobile Navigation menu icon next to Buttons.

There was no way to make the mobile icon larger or give it any padding to align its size with the Button blocks next to it.

The Navigation block, despite its progress, is still one of the weakest links in FSE. It only covers a handful of simple use cases out of the box. Anything beyond that requires a deep level of customization and the hope that an end-user does not break the delicate balance struck to make it work.

Twice during testing, my Navigation block disappeared on the front end. I suspect it had something to do with me trying to adjust the outer Column block’s width. However, I was unable to replicate the issue at will.

Testing is all about finding problems to solve. I did not run into any crashes or the types of bugs that I would have seen long ago. The experience of designing from within the site and template editors feels pretty smooth these days. The holdups are more about missing capabilities than anything. Making the leap from an impossible header layout to an almost possible one in 11 months is significant.

by Justin Tadlock at February 26, 2022 02:33 AM under gutenberg

February 25, 2022

WPTavern: The Kyiv Independent Seeks Donations to Continue Critical Ukrainian News Coverage

photo credit: The Kyiv Independent

The Kyiv Independent, a new English-language media outlet powered by WordPress, is seeking donations to continue their reporting at this critical time in Ukraine’s struggle against Russian invasion.

The fledgling publication is just three months running and its staff is already plunged into what may be some of the most important reporting of their lifetimes.

The Kyiv Independent was created by 30 journalists who were previously employed at the Kyiv Post but fired for what they say was retaliation for exercising their editorial independence. The publication, led by Olga Rudenko, its new editor-in-chief, tells the story of its values and origins on the website:

The Kyiv Post, Ukraine’s global voice, went silent on Nov. 8, 2021, days after celebrating the 26th year of its uninterrupted run.

The publication was shut down by the owner in his attempt to take full control of the newsroom that has always followed the principle of editorial independence. 

Yet, the editorial team of the independent Kyiv Post refused to be silenced. If we couldn’t save the Kyiv Post brand, we could save its values.

At the moment the publication reports they are “dealing with increased volumes of traffic, attacks, and an unpredictable situation on the ground.” Rudenko gave a brief update from Kyiv via video yesterday:

The Kyiv Independent is running a gofundme campaign to raise funds for their new publication and continued reporting efforts during this critical time. The campaign was set up by Kyiv Independent’s London-based CFO Jakub Parusinski. Their cause is resonating with free press supporters from around the world and so far they have raised £233,494. The publication also has a Patreon account which is bringing in $24,173/month from more than 2,000 patrons.

“It is crucial to bring credible news from Ukraine to the world,” Parusinski said. “Especially when Russian forces are working hard to distort the perception of Ukraine abroad.

“We are asking you to stand up to it together with us. We are not backed by a rich owner or an oligarch. We will rely first and foremost on fundraising from our readers and donors, and later on commercial activities.”

Patchstack is one of the first companies to reach out to The Kyiv Independent with an offer to help.

“Patchstack not only wants to offer them our WordPress security services free but  we are actively looking to help Ukrainian organizations at this time,” Patchstack Security Advocate Robert Rowley said. He also signed up to support the organization through the fundraiser.

“I personally like to support independent journalists and their background tells the story of the type of journalism I want to support,” Rowley said.

Patchstack is in the process of setting up a site called UA Cyber Help, an effort led by their CEO Oliver Sild and four employees with an average of 15+ years in security. They are volunteering their time to bring resources to organizations like The Kyiv Independent and others affected by the war in Ukraine.

I have reached out to The Kyiv Independent’s news team to inquire about their needs and how the WordPress business and hosting community can help. We will publish a followup when we hear more from their team.

by Sarah Gooding at February 25, 2022 07:53 PM under News

WordCamp Central: Bluehost supports WordPress community events worldwide

We can’t thank Bluehost enough for their continued support as a sponsor for the global WordPress community! Their support of WordPress community events around the globe at our Gold level!

Bluehost has been a WordPress partner since 2005 and powers over 1 million WordPress sites worldwide. Their objective is to help customers, whether novice or pro, create a thriving online presence at an affordable price. With a team of in-house tech experts available 24/7, Bluehost dedicates time and resources to providing the best support and services in the industry. Join millions of other site owners and see what Bluehost can do for you and your online presence.

by Isotta at February 25, 2022 04:00 PM under Sponsors

Akismet: The WordPress Comment System Explained: All You Need to Know

Comments are the lifeblood of many websites. They help you build a community around your brand, encourage discussion and engagement, provide valuable feedback, and even improve your search engine rankings. Whether you have a blog, service-based business, eCommerce store, or any other type of website, comments can be invaluable.

So let’s take a step back and explore the WordPress comment system and look at how to manage comments on your WordPress site.

What are WordPress comments?

WordPress started as a blogging platform and, though it can now be used to build absolutely any type or size of website, content is at its heart. And because of that, WordPress provides everything you need to accept comments on your site. You won’t need any additional plugins to enable, manage, and respond to comments.

For your site visitors, the comment system is very easy to use. While the exact design of your comment form will vary based on the theme you’re using, it will look something like this:

It has a comment text box, along with fields for name, email, and website. Visitors click the Post Comment button to submit their comment on your WordPress website. Published comments will appear in a list beneath the post and, depending on your discussion settings, responses will nest underneath the comments they correspond to.

Each comment will show the commenter’s name, along with the date and time they responded. Don’t worry — their email address won’t appear on the front-end of your site. Comments can be enabled for posts, pages, products, and other post types depending on your website and settings.

How to access your comments in the WordPress dashboard

Of course, you’ll want to view your comments, respond to them, and delete any that may be spam. While we’ll dive further into this in a moment, let’s look at how to find your comments.

By default, you’ll receive a notification each time someone leaves a comment on your site. If you want to view that specific comment, you can click on the link in the email. But if you want to view all comments, simply log in to your WordPress dashboard and click Comments in the left-hand menu.

How to manage WordPress comments

While comments can be extremely beneficial, they do also involve a bit of work on your end. You’ll want to respond to legitimate comments and answer questions quickly and thoroughly. It’s also important that you learn to identify comment spam and remove any offending comments.

Once you navigate to the Comments section of your website, you’ll see a full list of comments. Those that are approved will be gray or white in color, while those that are pending will have a light yellow background. 

At the top, you’ll see several tabs that help you manage comments:

  • All: Shows all the comments you have on your site, pending and approved
  • Pending: Displays just comments that are waiting on your approval and response
  • Approved: Shows just the comments you’ve approved and published
  • Spam: Displays comments that you (or a spam plugin) have marked as spam
  • Trash: Shows comments that you’ve moved to the trash and allows you to permanently delete them

You can use these tabs to filter your comments as needed. For example, if you want to sit down and respond to comments, you may want to click the Pending tab so you just view the ones that are waiting on a response. Or if you want to periodically get spam comments out of the way, you can click the Spam tab and move them into the trash.

Each individual comment shows the respondent’s name, their number of approved comments, their email and IP address, and their Gravatar if they have one set for their email. You’ll also see what the comment says, the post it was on, and the date and time it was submitted. 

When you hover over a comment, a list of actions will appear, side-by-side. Here are the actions you can take for each comment:

  • Approve/Unapprove: Approving a comment publishes it on your site so it can be viewed by anyone online. Unapproving it removes it from public display.
  • Reply: Respond to the comment and answer any questions. This will be published on your site with your name and, depending on your settings, will nest under the comment it’s in response to.
  • Quick edit: Make quick changes to the comment. Edit the name, email, website, and response. You could, for example, remove a link to a third-party site if you don’t allow cross promotions.
  • Edit: This opens a new screen where you can make changes to a comment and view its history on your site.
  • History: See the history of the comment, like when it was published, approved, and more.
  • Spam: This moves a comment into your Spam folder and keeps it from appearing on the front-end of your site.
  • Trash: This moves a comment to your Trash folder. If you accidentally put a comment in the trash, you can still restore it if needed.

Let’s take a closer look at a few more components of managing comments.

How to edit comments in bulk

Manually managing comments can be time-consuming and tedious. But it’s a necessary aspect of engaging with visitors and protecting them from potentially dangerous spam. Thankfully, there are some actions you can take to manage comments in bulk.

In the comment dashboard, you’ll see a checkbox to the left of each column, as well as at the top left, next to the Author column. You can use these to check specific comments you want to edit or to select all of the comments on that page. Once you’ve checked them, click the Bulk Actions dropdown and choose to approve or unapprove the comments, or mark them as spam or trash.

By default, this screen will show 20 comments per page. Want to edit more than that? Expand the Screen Options tab at the top right of the page, type in the number you want to show in the box beside Number of items per page, and click Apply. 

How to restore comments from the spam or trash folders

But what if you accidentally mark a comment as spam or add it to the trash? Don’t worry — you can restore it back to where it belongs. 

If you marked the comment as spam, simply click on the Spam folder, hover over the comment, and click Not Spam. If you put it in the trash, click on the Trash folder, hover over it, and click Restore.

How to permanently delete WordPress comments

By default, trashed comments are still saved in your database — they’re just tucked away so they won’t show up on your website. But, from time to time, you may want to permanently delete these so as not to clog up your database.

To do this, navigate to the Trash folder. Then, click the button that says Empty Trash. Note that this will permanently delete all the comments in this folder and you won’t be able to bring them back.

An overview of WordPress discussion settings 

WordPress offers a variety of settings that help you tailor your comment section to your specific site, audience, and needs. You can find these by going to Settings → Discussion in your WordPress dashboard. There are several comment sections with individual options inside of each one. Let’s break these down.

Default post settings

This section controls how your site interacts with comments. Here are the options:

  • Attempt to notify any blogs linked to from the post: If you link to someone else’s WordPress blog post, this setting will enable WordPress to send a notification or “ping” letting them know.
  • Allow link notifications from other blogs (pingbacks and trackbacks) on new posts: Pingbacks and trackbacks appear in your comment section when someone links to your blog posts. They can be a great display of trust from other sites, but can also quickly overwhelm your comments, so consider this carefully.
  • Allow people to submit comments on new posts: This enables comments across your entire website.

Other comment settings

These are miscellaneous settings that apply to your comments and are as follows:

  • Comment author must fill out a name and email. This requires each respondent to leave their name and email when they leave a comment and can be helpful for preventing spam.
  • Users must be registered and logged in to comment. This requires commenters to have an account. While this goes a long way towards spam prevention, it can also discourage many people from commenting. You may want to reserve this setting for situations like membership sites or forums.
  • Automatically close comments on posts older than 14 days. This turns off comments on blog posts after a certain number of days — the default is 14 if this setting is enabled. This prevents you from having to moderate comments on posts from months or years ago and is especially helpful if your posts are time-sensitive.
  • Show comments cookies opt-in checkbox, allowing comment author cookies to be set. This adds a checkbox to your comment form that says, “Save my name, email, and website in this browser for the next time I comment.” This helps you stay compliant with privacy laws like the GDPR.
  • Enable threaded (nested) comments 5 levels deep. This allows comment responses to nest (tuck) underneath the comment they’re in response to. By default, they will nest five levels deep, but you can change this to whatever you’d like or turn it off altogether.
  • Break comments into pages with 50 top level comments per page and the last page displayed by default. This divides the comments on the front-end of your site into pages, defines the number of comments per page (the default is 50), and lets you choose whether or not to display the first or last page by default.
  • Comments should be displayed with the older comments at the top of each page. This sets the order in which your comments should display. Choose between “older” and “newer.”

Email me whenever…

This section controls the email notifications you receive in regards to comments on your site. You can receive a notification when:

  • Anyone posts a comment
  • A comment is held for moderation

Before a comment appears…

Choose what must occur before a comment appears on the front-end of your website:

  • Comment must be manually approved. When this is turned on, you’ll need to manually approve each comment for publication. Turning this on gives you full control over what is published, though this process can be time-consuming.
  • Comment author must have a previously approved comment. This automatically publishes comments from people who have written a comment that you’ve already approved. This is a great way to save valuable time but still reduce spam.

Comment moderation

This section allows you to hold comments in the moderation queue (rather than publish them automatically) if they meet certain criteria.

Links are a very common indication of spam — bots and malicious actors often try to send your website visitors to harmful third-party sites of their own. The first setting in this section allows you to hold a comment based on the number of links it contains. The default is two, but we recommend setting this to one, as there’s rarely a viable reason to include a link in a comment.

Below this option, you’ll see a text field that allows you to hold comments that meet the characteristics you define. So, if you’re getting a large number of spam comments that contain certain words or phrases, are from the same email or IP address, or push the same URL over and over, you can list those here.

Disallowed comment keys

This section is very similar to the previous one, but it sends comments that meet certain criteria straight to the trash. Here, you can list words, author names, URLs, email addresses, IP addresses, or browser user agent strings.

Avatars

An avatar is the picture that shows up next to a respondent’s name. This is typically set by the person using Gravatar and is based on the email address they use to submit comments. Here are the options you can choose from:

  • Avatar display: Choose whether or not to show avatars on your site
  • Maximum rating: Block any images that fall above a certain maturity rating
  • Default avatar: Set a default image to display if a respondent doesn’t have an avatar

Comment settings for individual posts and pages 

The settings above apply to all posts and pages across your site. However, there are a few things you can choose on an individual basis. 

Start by going to the page or post you want to edit and clicking the gear icon in the top right. There, you’ll see a list of settings. Scroll down to the Discussion section. 

There are two options for comments here:

  1. Allow comments. Check this box to enable comments for this specific page or post. Uncheck it to turn off comments. 
  2. Allow pingbacks & trackbacks. Decide whether or not to enable pingbacks and trackbacks on an individual page basis. These are ways to let other blogs know that you’ve linked to them within your content.

Once you’ve edited the settings, click the blue Update button at the top right of the page.

But there may be times that you want to edit specific posts in bulk. For example, you might want to close comments on all posts around a certain topic. Or may you want to enable comments just for pages about your services.

To do this, navigate to Pages or Posts in the WordPress dashboard, depending on which you’d like to edit. To the left of each page or post, you’ll see a checkbox. Check that next to each post or page you want to make changes to, or select the checkbox beside the word Title to select all the ones on that page.

Then, in the Bulk actions dropbox, select Edit and click Apply. A new section will appear with various settings. Find the Comments dropdown, choose to either turn comments on or off, then click Update. That change will be made to all the posts you selected.

How to allow individual users to moderate comments

If you get a lot of comments, moderation can become time-consuming and overwhelming. After all, you have plenty of other things that need your attention! One great solution is to assign the task of comment moderation to specific people. Not only does this mean you won’t have to handle this process, it also means that commenters get responses faster.

So how do you do this without giving moderators full access to your site? While there are a few methods, we’re going to show you how with the Comment Moderation Role plugin.

  1. In your dashboard, go to Plugins → Add New. 
  2. Search for “Comment Moderation Role by WPBeginner” and click Install now → Activate.
  3. Then, navigate to Users → All Users and select the account you’d like to modify.
  4. In the Role box, select WPB Comment Moderator.
  5. Click the blue Update User button at the bottom of the page.

Now, that user will be able to access the comment moderation screen in your dashboard, but nothing else. This allows them to do their job without compromising the security of the rest of your site.

A good comment experience is spam-free

Now that you know all about the WordPress comment system, you can enable comments across your website and create a community around your brand! But if your comment section is full of unhelpful, unrelated, and potentially dangerous spam, then your brand, search engine rankings, and engagement can actually suffer.

Thankfully, you don’t need to add spam filtering to your list of moderation tasks; Akismet can take care of this for you! Simply activate the plugin — its powerful tools have stopped more than 500,000,000,000 spam comments — and the worst spam will be automatically deleted for you. You never even have to see it.

Learn more about how to stop comment spam in WordPress.

by Simon Keating at February 25, 2022 10:53 AM under General

Post Status: Post Status Notes #487

WordPress 5.9.1 released. REST or AJAX? Plugin dependency feature plugin. Testing, security, new themes and CSS standards. PHP benchmarks and more.

Core News

A WordPress 5.9.1 Maintenance Release is out, so make sure your sites are updated. There are quite a lot of bug fixes in this release — over 80!

For a digest of everything happening in core this week, see This Week at WordPess.org for February 21.

.kt-block-spacer-_29ed09-d6 .kt-divider{width:80%;}

Dev Notes

Matt Shaw tackles the question of whether you should be using the WordPress REST API instead of AJAX. He compares the pros and cons of each possible approach, including benchmarks that examine speed and responsiveness.

Whichever you choose, Matt cautions that “the REST API and admin-ajax.php still depend on the quality and integrity of the active plugins or themes.”

.kt-block-spacer-_768746-e7 .kt-divider{width:80%;}

Andy Fragen details a feature plugin project he is proposing for managing plugin dependencies in the WordPress updater. This idea goes back to a TRAC ticket opened nine years ago by the late Alex Mills. It already has some comments and discussion going.

Andy outlines two approaches to managing plugins that require plugins. Each has subtle differences which he calls “starting points.” At the moment I would embrace either one! A core solution to plugin dependencies would help set and keep standards.

We're looking forward to how this project progresses.

.kt-block-spacer-_840b95-6b .kt-divider{width:80%;}

Jason Bahl has written a tutorial on end-to-end tests for your WordPress plugins. It uses Puppeteer, Jest, and Github Actions. Jason's tutorial also shows how to set up a GitHub Workflow (AKA GitHub Action) that will run the tests when a Pull Request is opened.

Jason also published a video walking through the setup for end-to-end tests for WPGraphQL.

.kt-block-spacer-_c5fed6-75 .kt-divider{width:80%;}

David C. Zentgraf has a detailed post on what every programmer “absolutely, positively needs to know” about encodings and character sets to work with text.

.kt-block-spacer-_0dbedb-9e .kt-divider{width:80%;}

Tom McFarlin shares how you can programmatically authenticate a user in WordPress — as long as you have a verified user ID for them.

.kt-block-spacer-_555570-98 .kt-divider{width:80%;}

Security

Jetpack Scan security researcher Marc Montpas discovered a severe vulnerability in UpdraftPlus that could grant attackers access to privileged information in the database. As Sarah Gooding reports, the patch was pushed out via a forced auto-update.

It's rare, but not extremely rare, to see a security-related update pushed out via a forced auto-update. Likely this time around it was the extent of the problem plus the install base of the plugin — more than a million sites — that hadn't updated to the latest version.

It would be nice to see some guidelines in writing to explain when and how the decision for a forced update is made. It might be a “you know it when you see it” scenario, but when it comes to security, standards and expectations should be clear.

.kt-block-spacer-_e600b1-e0 .kt-divider{width:80%;}

Themes

Mark Root-Wiley envisions a path toward standardizing CSS for WordPress designs and layouts. He notes that “now is a critical moment to find a path that meets the needs of WordPress core development without sacrificing the needs of 3rd-party themes and plugins.”

Mark proposes a four-point plan: Consistent CSS classes, stateful CSS classes, design tokens, and CSS utility classes:

“With a streamlined and transparent approach to design, core development will have a self-documenting, easy-to-understand set of tools for implementing future designs.”

.kt-block-spacer-_df7230-15 .kt-divider{width:80%;}

Rich Tabor has released a new WordPress block theme called Wabi for writers and publishers. Each post can have one of six different accent color. All of them can be modified within the new Global Styles interface.

Rich's blog is currently running Wabi.

.kt-block-spacer-_7a9c08-f0 .kt-divider{width:80%;}

Skatepark is a new WordPress theme “designed for modern events and organizations” by Mel Choyce-Dwan.

.kt-block-spacer-_f96c81-58 .kt-divider{width:80%;}

PHP Performance

Salman Ravoof delivers some benchmarks for PHP 7.2, 7.3, 7.4, 8.0, and 8.1 on the Kinsta blog. These five different PHP versions were tested across 14 unique PHP platforms and configurations for WordPress, Drupal, Joomla, and Laravel.

Kinsta finds that only 50.6% of WordPress sites are running on supported PHP versions. Salman believes lack of education, compatibility issues, and reluctant WordPress hosting providers are the main causes for this.

In terms of overall speed on WordPress installs, PHP 8.0 and 8.1 have proven to be faster than previous versions. PHP 8.1 is the fastest in all benchmarks. Another reason to upgrade sooner than later:

“With support for PHP 7.4 ending soon in late 2022, you should plan to move your sites to PHP 8.0 and above as soon as possible.”

.kt-block-spacer-_b994bc-0d .kt-divider{width:80%;}

Plugin Updates

Advanced Custom Fields version 5.12 is available with ACF Blocks compatibility for WordPress 5.9 and WordPress 5.8.

.kt-block-spacer-_2ba800-37 .kt-divider{width:80%;}

Aurooba Ahmed has released QuickPost, “a little button that lets you create and duplicate posts right from the WordPress Block Editor.”

.kt-block-spacer-_a1b52e-6c .kt-divider{width:80%;}

TrustedLogin has adopted the Remove Dashboard Access and Support Me plugins created by Drew Jaynes. These plugins are installed on over 50,000 sites.

.kt-block-spacer-_ce46dd-da .kt-divider{width:80%;}

Strattic has acquired WP2Static, which was developed by Leon Stafford. Leon is joining Strattic and will continue to maintain the plugin, which makes WordPress generate a static file-based site.

Strattic will “support keeping WP2Static and its add-ons open source.”

.kt-block-spacer-_973c64-22 .kt-divider{width:80%;}

Questions Asked and Lessons Learned

Brian Casel shares some things he learned from the sale of his Productize course business, a 7-year side-business.

“I still believe [productized services are] the path of least resistance for anyone looking to level up from being a freelancer to a business that can scale. It helped me bootstrap and grow into SaaS. It powers amazing service businesses for many others.”

.kt-block-spacer-_3af4ee-a2 .kt-divider{width:80%;}

Eric Karkovack wonders if many of the features WordPress is gaining are for non-designers and will push freelancers away. Eric believes freelancers are vital to growth:

“Without the right balance, there is a potential to squeeze out those of us in the mid-range of the market… we’re not at that point just yet. However, the decisions that are made within the next few years could have a huge impact on freelancers.”

.kt-block-spacer-_c19cf5-cd .kt-divider{width:80%;}

Nyasha Green shares her response to those who ask, “Are WordPress developers real developers?” It depends how you define “developer.” There's plenty of space in the WordPress community for a variety of different “developers.”

.kt-block-spacer-_5157ec-3f .kt-divider{width:80%;}

Allie Nimmons asks how to be an effective advocate for diversity in WordPress. She recounts the good, bad, and unintended consequences of calling out WCEU for an apparent lack of diversity in its organizers. Allie now has some suggestions such as this one:

“Communicat[e] … intentions first. […] Bring to the forefront what you hope to accomplish with your advocacy before bringing up tough questions.”

by David Bisset at February 25, 2022 04:38 AM under Week In Review

WPTavern: WooCommerce 6.3 to Introduce New Product Filtering by Attributes

The WooCommerce development team released the first RC for version 6.3 this week. The upcoming major release is expected on March 8, 2022, and is set to introduce an exciting, long-awaited feature: a new lookup table that will offer the ability the accurately filter products by attributes.

Shop owners who sell variable items have been frustrated for years by WooCommerce’s broken filtering of variable products. Automattic developer Néstor Soriano explained the problem when the new lookup table went into testing last year:

The problem appears when there are variable products where some variations have stock and others don’t, and the “hide out of stock products from the catalog” option is set. What happens is that when an attribute is selected for filtering, all variable products having a variation that corresponds to that attribute will be displayed, even those not having stock for that variation (as long as at least one variation has stock).

Merchants who have experienced this have become frustrated because customers end up having to search through all the items to see if their selected variation is available. Sometimes they abandon the process after the first few items don’t have the one they are looking for.

The new lookup table in WooCommerce 6.3 solves this problem in a way that should improve performance – by creating a table row for each combination of product and attribute, including individual variations and stock status. This will be immensely helpful for any store owner who sells variable products, such as clothes, shoes, jewelry, etc.

This update will require a database migration. It will also introduce a new “Advanced” section under the Product Settings tab with options for the new product attributes lookup table.

New Advanced settings: WooCommerce – Settings – Products – Advanced

WooCommerce 6.3 has updated to the 6.9.0 version of the WooCommerce Blocks feature plugin and version 3.2.0-rc of WooCommerce Admin.

Shop owners who have variable products may want to give the update a test run during the next 12 days before the release lands. It is available for download from WordPress.org or via the WooCommerce Beta Tester plugin.

by Sarah Gooding at February 25, 2022 04:22 AM under woocommerce

Follow our RSS feed: 

WordPress Planet

This is an aggregation of blogs talking about WordPress from around the world. If you think your blog should be part of this site, send an email to Matt.

Official Blog

For official WordPress development news, check out the WordPress Core Blog.

Subscriptions

Last updated:

March 06, 2022 05:00 PM
All times are UTC.