WordPress Planet

December 13, 2019

WPTavern: Inserting Special Characters Into the Block Editor

For users of the Classic WordPress editor who often needed to insert special characters into their posts, life was once simple. Click the “Ω” button in the editor to open a modal with a list of characters not found on a standard keyboard. The user then only needed to click on the character they wanted to insert and go about the business of writing their post.

For users who made the move to the block editor and were accustomed to inserting special characters at the click of a button, life became more complicated. The answer to their woes was to first insert a Classic block and use its special character inserter, which kind of defeats the purpose of using the new and shiny block editor. Another option was to use the special character app/program packaged with their computer, which assumes all users know the keyboard shortcut for it or how to run the program.

By many accounts, this would be considered a standard feature for any text editor. When WordPress is at a stage of trying to sell a new editor, it should be prepared to include features that users of the old editor consider standard. The lack of a special-character inserter could have been written off as an oversight if people were not asking for it.

People were asking for it.

Fortunately, the requests caught the attention of the 10up team. In September this year, they released the first version of their Insert Special Characters plugin. It has since gone through a couple of updates and works well across browsers.

The plugin is simple and does its job much better than the previous Classic editor inserter. Instead of just handling the basics, the team went above and beyond what was necessary to launch the plugin.

The plugin adds a new sub-menu item to the text toolbar titled “Ω Special Characters.”

“Special Characters” rich text menu item.

After clicking the link to insert a special character, a modal box appears on the screen. The box provides hundreds of special characters to choose from. It sorts them under Miscellaneous, Math, Latin, and Arrow categories while providing a search filter to narrow down the list. The box can also be reached by typing ctrl/cmd + o on the keyboard.

Special characters insertion modal box.

Like many modals, the box pops up in a weird position from time to time, depending on where the insertion point is on the screen. Outside of that, I found no major problems with the plugin.

The plugin also provides a hook for other developers to manipulate the tabs and available characters in the modal.

This does beg the question of whether the feature should be implemented in the core block editor now. If the core team puts it in at this point, one would hope they would make it competitive with the plugin. Anything less would be a letdown.

by Justin Tadlock at December 13, 2019 08:46 PM under 10up

WPTavern: WordPress 5.3.1 Includes Security and Bug Fixes, Accessibility Enhancements, and Twenty Twenty Changes

WordPress 5.3.1 was released today with 46 bug fixes and enhancements. Changes include several accessibility improvements and four security vulnerability fixes. The update includes multiple changes to the default Twenty Twenty theme.

Version 5.3.1 is a security and maintenance release. All users are encouraged to update as soon as possible. For those with auto-updates enabled, updates are currently rolling out. All major branches of WordPress from version 3.7 through 5.3 received the new security fixes.

The following security issues were addressed:

  • Users without the correct permission (capability) could make a post sticky via the REST API.
  • An issue where cross-site scripting (XSS) could be stored in links.
  • Hardening the wp_kses_bad_protocol() function so that it is aware of the named colon attribute.
  • A stored XSS vulnerability using block editor content.

Most of the release focused on maintenance. Form fields and buttons now have the same height, which should result in a more consistent admin UI. This has long been an issue, but the accessibility changes in WordPress 5.3 highlighted the problem.

A bug with how permalinks were generated with the new Date/Time changes in WordPress 5.3 has been fixed. This left some sites using date-based URLs with incorrect post permalinks.

Other changes include removing support for the CollegeHumor oEmbed provider (the site is no longer available), updating the sodium_compat library, and making sure admin verification emails use the user’s locale instead of the site’s locale. For a full overview of all changes, visit the WordPress 5.3.1 release page.

Accessibility Improvements

“Coffee” color scheme with new button colors.

Some of the biggest accessibility changes fixed issues with the alternate admin color schemes available in WordPress. The accessibility improvements to buttons in WordPress 5.3 did not get carried over to most of the alternate schemes. Or, rather, those alternate color schemes were not taken into account when the changes went into effect. This left secondary button elements practically unreadable in some cases, which made accessibility worse.

Version 5.3.1 creates a unified design for secondary buttons for every color scheme. It also makes sure that the :active state for buttons are consistent.

Other improvements to accessibility include adding underlines to links on the Dashboard screen that were not clearly links by context, properly disabling nav menu forms when they should not be in use, and adding hover effects for links on the “About” admin screens.

Twenty Twenty Changes

Author bio option in the customizer.

The Twenty Twenty theme launched with JavaScript-based, smooth-scroll behavior for anchor links. This feature did not work correctly in all cases. It also broke anchor links to individual comments when paginated comments were enabled on a site.

Version 1.1 of Twenty Twenty includes CSS-based, smooth-scroll behavior. This greatly simplifies the code by using native behavior. It also works based on the user’s reduced motion setting for their browser, which enhances accessibility for the theme.

The theme update comes packaged with a new option for showing or hiding the post author bio. The setting is available under the “Theme Options” section in the customizer. It is enabled by default and will show the author bio section at the end of every post across the site.

The Twenty Twenty update also includes several bug fixes, most of which were trivial issues.

by Justin Tadlock at December 13, 2019 12:58 AM under WordPress

WordPress.org blog: WordPress 5.3.1 Security and Maintenance Release

WordPress 5.3.1 is now available!

This security and maintenance release features 46 fixes and enhancements. Plus, it adds a number of security fixes—see the list below.

WordPress 5.3.1 is a short-cycle maintenance release. The next major release will be version 5.4.

You can download WordPress 5.3.1 by clicking the button at the top of this page, or visit your Dashboard → Updates and click Update Now.

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

Security updates

Four security issues affect WordPress versions 5.3 and earlier; version 5.3.1 fixes them, so you’ll want to upgrade. If you haven’t yet updated to 5.3, there are also updated versions of 5.2 and earlier that fix the security issues.

  • Props to Daniel Bachhuber for finding an issue where an unprivileged user could make a post sticky via the REST API.
  • Props to Simon Scannell of RIPS Technologies for finding and disclosing an issue where cross-site scripting (XSS) could be stored in well-crafted links.
  • Props to the WordPress.org Security Team for hardening wp_kses_bad_protocol() to ensure that it is aware of the named colon attribute.
  • Props to Nguyen The Duc for discovering a stored XSS vulnerability using block editor content.

Maintenance updates

Here are a few of the highlights:

  • Administration: improvements to admin form controls height and alignment standardization (see related dev note), dashboard widget links accessibility and alternate color scheme readability issues (see related dev note).
  • Block editor: fix Edge scrolling issues and intermittent JavaScript issues.
  • Bundled themes: add customizer option to show/hide author bio, replace JS based smooth scroll with CSS (see related dev note) and fix Instagram embed CSS.
  • Date/time: improve non-GMT dates calculation, fix date format output in specific languages and make get_permalink() more resilient against PHP timezone changes.
  • Embeds: remove CollegeHumor oEmbed provider as the service doesn’t exist anymore.
  • External libraries: update sodium_compat.
  • Site health: allow the remind interval for the admin email verification to be filtered.
  • Uploads: avoid thumbnails overwriting other uploads when filename matches, and exclude PNG images from scaling after upload.
  • Users: ensure administration email verification uses the user’s locale instead of the site locale.

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


In addition to the security researchers mentioned above, thank you to everyone who contributed to WordPress 5.3.1:

123host, acosmin, Adam Silverstein, Albert Juhé Lluveras, Alex Concha, Alex Mills, Anantajit JG, Anders Norén, andraganescu, Andrea Fercia, Andrew Duthie, Andrew Ozz, Andrey “Rarst” Savchenko, aravindajith, archon810, Ate Up With Motor, Ayesh Karunaratne, Birgir Erlendsson (birgire), Boga86, Boone Gorges, Carolina Nymark, Chetan Prajapati, Csaba (LittleBigThings), Dademaru, Daniel Bachhuber, Daniele Scasciafratte, Daniel Richards, David Baumwald, David Herrera, Dion hulse, ehtis, Ella van Durpe, epiqueras, Fabian, Felix Arntz, flaviozavan, Garrett Hyder, Glenn, Grzegorz (Greg) Ziółkowski, Grzegorz.Janoszka, Hareesh Pillai, Ian Belanger, ispreview, Jake Spurlock, James Huff, James Koster, Jarret, Jasper van der Meer, Jb Audras, jeichorn, Jer Clarke, Jeremy Felt, Jip Moors, Joe Hoyle, John James Jacoby, Jonathan Desrosiers, Jonny Harris, Joost de Valk, Jorge Costa, Joy, Juliette Reinders Folmer, justdaiv, Kelly Dwan, Kharis Sulistiyono, Kite, kyliesabra, lisota, lukaswaudentio, Maciej Mackowiak, marcelo2605, Marius L. J., Mat Lipe, mayanksonawat, Mel Choyce-Dwan, Michael Arestad, miette49, Miguel Fonseca, mihdan, Mike Auteri, Mikko Saari, Milan Petrovic, Mukesh Panchal, NextScripts, Nick Daugherty, Niels Lange, noyle, Ov3rfly, Paragon Initiative Enterprises, Paul Biron, Peter Wilson, Rachel Peter, Riad Benguella, Ricard Torres, Roland Murg, Ryan McCue, Ryan Welcher, SamuelFernandez, sathyapulse, Scott Taylor, scvleon, Sergey Biryukov, sergiomdgomes, SGr33n, simonjanin, smerriman, steevithak, Stephen Bernhardt, Stephen Edgar, Steve Dufresne, Subrata Mal, Sultan Nasir Uddin, Sybre Waaijer, Tammie Lister, Tanvirul Haque, Tellyworth, timon33, Timothy Jacobs, Timothée Brosille, tmatsuur, Tung Du, Veminom, vortfu, waleedt93, williampatton, wpgurudev, and Zack Tollman.

by Jb Audras at December 13, 2019 12:07 AM under Security

December 11, 2019

WPTavern: Gutenberg 7.1 Includes Welcome Modal, Improves Multi-Block Selection, and Adds Drag-and-Drop Featured Images

The past two weeks have been blazing fast for Gutenberg plugin development. A total of 161 pull requests (patches) were merged into version 7.1 of the plugin. Over 20 bugs were squashed while the team added several enhancements, which include better multi-block selection, a new welcome modal, and drag-and-drop featured images.

The team refactored several areas of the codebase to prepare for future changes and make it possible to use new hooks. API changes include a new custom select control, text highlight, and custom gradient picker components for developers to use in their plugins.

The release also featured a toolbar button for switching between “edit” and “select” mode. The select mode allows you to select blocks without opening the editing controls unless you click again within a block, which switches you back to editing mode. The only noticeable difference is that the editing controls do not appear while in select mode. Wondering when I will ever use this feature…

Welcome Guide Modal

New welcome guide modal for first-time users.

The new version of the plugin includes a pop-up welcome modal for first-time users. There are currently three panels with short introductions to what blocks are, how to use them, and getting to know the block library.

Ideally, the modal will link out to more extensive documentation in a future iteration. Right now, the information provided does not go into much detail. It feels like a message to say, “Hey, check out this shiny new thing.” However, there needs to be more substance for it to be helpful for first-timers.

Improved Multi-block Selection

Selecting multiple blocks at once.

The block editor now incorporates a nicer native multi-block selection process. The first aspect of this change is to use the native selection color, which improves accessibility. It also uses native selection behavior when selecting multiple blocks.

The second part is important because it paves the way toward partial block selection in a future release. Currently, when selecting text across multiple blocks, the editor extends this out to select all text from the selected blocks. In the future, it should be possible to select only part of the text across multiple blocks. This would be consistent with normal text-based editors where users can select the last sentence from one paragraph and the first from the next, for example.

Selecting multiple blocks and pasting new content works correctly in 7.1. In the past, the rich text component handled pasting. This resulted in the blocks being split and the pasted content inserted between the split. The block editor now handles the pasting process. This allows users to completely replace multiple selected blocks with a paste.

Drag-and-Drop Featured Images

Dragging a featured image from the desktop.

Instead of clicking the featured image box to open the media modal, users can now save themselves a click. Just like dragging and dropping an image into the editor, the featured image box now accepts any image file dropped into it.

Table Captions

Adding a caption to the table block.

For those who have long waited for a true table <caption> implementation, keep on waiting.

A year-old ticket that was opened for a table caption feature was closed with a solution matching that of other blocks with captions (e.g., image, gallery). The pull request featured a lengthy discussion over the technical limitations of how to best handle the feature. Ultimately, the decision was to wrap tables in a <figure> element and add the caption via the <figcaption> tag.

While this may work for some who need to add a caption or summary below a table, it is not currently helping users who need captions in their normal spot at the top of a table.

In the long run, users who need to roll out advanced tables will likely need a table block plugin anyway. The Gutenberg and core WordPress implementation is limiting for anything beyond the most basic table output. Real captions would have been a nice touch though.

Alignment for the Navigation Block

Aligning navigation block items.

The Navigation block, which moved out of the experimental stage in version 7.0, has a new option for justifying the list items to the left, right, or center. This will be an important feature for full-site editing in the long term because users will want to set their nav menu perfectly.

This block will likely be in flux for a while. There are still major questions about how navigation will work on mobile, especially as we inch closer to full-site editing. Will core play a role in making mobile menus? Will themes be left to their own devices? Will themes offer multiple options based on screen size?

Moving Ahead with Templates and Full-Site Editing

Coming off the heels of a somewhat controversial documentation proposal for block-based themes, version 7.1 includes a new demo block template named index.html. It is a fallback template in cases where no templates are available. This is an early, experimental step toward making full-site editing a reality.

Theme developers who want to start looking at what block templates could look like, should view the demo index.html template.

Unfortunately, the release ZIP file available through the official plugin repository does not include the index.html template. It was excluded because of a bug in the build process. However, it may be packaged in a version 7.1.1 minor release. The file is correctly included for developers who clone from the Git repository.

The second step of this process was the addition of a Template Part block. The idea for this block is that it would be a placeholder to add to templates, which would output a template part on the front end.

by Justin Tadlock at December 11, 2019 09:21 PM under gutenberg

December 10, 2019

bbPress: bbPress 2.6.3 is out!

bbPress 2.6.3 fixes 9 issues reported by community members:

  • Fixes a few typos and grammatical errors
  • Bumps required WordPress versions to 5.3.0 (bbPress always only officially supports the latest WordPress version)
  • Fixes the Forums widget displaying in the wrong order
  • Fixes a JavaScript error with hierarchical replies

We’re continuing to work on improving bbPress 2.6 while also deciding what exactly will make it into 2.7.

Expect for the next minor release (bbPress 2.6.4) to be released sometime before Christmas 2019. 🐝

by John James Jacoby at December 10, 2019 08:52 PM under 2.6

WPTavern: Creator of EditorsKit Launches Community Block-Sharing Site

Jeffrey Carandang, the creator behind the EditorsKit WordPress plugin, launched a new community site for sharing block designs and templates today. The ShareABlock website allows visitors to download block files directly from the site and import them into the block editor. Users can also sign up to share custom block designs and full-blown block templates. All downloads are available for free.

At the moment, there are 18 block designs available for download. There are two primary types of downloads: block patterns and block templates.

Patterns are smaller groupings of blocks to create a specific section for a page. These include designs such as various hero sections, pricing lists, and a call-to-action section.

Templates work the same way as patterns. However, they are larger sets of blocks designed to create an entire page. For example, one template allows users to import a full gallery portfolio page. Another creates an editable resume layout.

Other than Carandang, two other contributors have shared block designs. This number should rise as more people sign up and decide to share their creations. The registration process is open to anyone who wants to join. However, each contribution is subject to a review for quality assurance.

“One of my primary goals in creating [EditorsKit] is to help users get a little more comfortable with using the new WordPress Gutenberg block editor,” described Carandang in the announcement post for ShareABlock. “The goal is to help users create Gutenberg blocks easily. With drag and drop import, layout and designs will be available in an instant.”

Carandang feels confident that pre-configured block designs will help users learn how to use the block editor to create richer content. “Even if it’s just a little help to make them comfortable with Gutenberg, it means a lot,” he wrote.

He said the feedback from users has been positive thus far.

Importing the Fullscreen Profile Card block pattern.

Block designs downloaded from ShareABlock require the EditorsKit plugin, which is available for free in the WordPress plugin directory. This requirement is because WordPress does not currently have a native importer built into the block editor. In the future, this may change and the requirement could be lifted.

Version 1.7 of EditorsKit introduced the ability to import blocks by dragging and dropping a block .json file into the editor. The blocks available via ShareABlock work using this feature. After downloading a .json file from the site, users merely need to drag it into the editor. Users can also use the “Import” block available from EditorsKit to do the same.

Block Patterns and the Future

“The plan is to provide integration with Block Patterns, which is what the core devs are currently working on,” said Carandang. “With this integration, the import process will be much easier.”

Block patterns are a planned feature that is under active development in the Gutenberg plugin and will eventually make its way into core WordPress. Patterns are predefined sets of blocks. They will allow users to quickly create more advanced layouts while also teaching what specific blocks do. The idea is to have a set of patterns with common layouts that people see around the web.

Carandang said he is actively checking the progress of the Block Patterns feature. He is eager to see the feature to come to fruition, which carries with it the possibility of more widespread use of the blocks available from his new community.

by Justin Tadlock at December 10, 2019 07:51 PM under editorskit

December 09, 2019

BuddyPress: BuddyPress 5.1.0 Maintenance Release

Immediately available is BuddyPress 5.1.0. This maintenance release fixes 8 bugs related to the 5.0.0 release, and is a recommended upgrade for all BuddyPress installations.

For details on the changes, please read the 5.1.0 release notes.

Update to BuddyPress 5.1.0 today in your WordPress Dashboard, or by downloading from the WordPress.org plugin repository.

Many thanks to 5.1.0 contributors

szepe.viktor, JarretC, Renato Alves (espellcaste), David Cavins (dcavins), Boone Gorges (boonebgorges), John James Jacoby (johnjamesjacoby) & Mathieu Viet (imath).

by Mathieu Viet at December 09, 2019 09:45 PM under releases

WPTavern: Progress on WordPress’ 2019 Projects Sets 2020 Roadmap

Josepha Haden, Executive Director of WordPress, published an update of WordPress’ goals in 2019. The focus for WordPress over the past year has been on nine primary projects. Of the nine projects, WordPress only managed to ship two in 2019. This means that the focus in 2020 will be much the same as the community continues building on the progress it has made toward the existing projects.

Currently, there are three planned major releases for WordPress in 2020:

  • Version 5.4 – March 2020
  • Version 5.5 – August 2020
  • Version 5.6 – December 2020

Each of those dates are subject to change. We should also get more specific dates as each release draws near. The various projects for 2020 should land in each release.

Matt Mullenweg, co-founder of WordPress, initially laid out the 2019 plans in his 2018 State of the Word address and listed the projects on the Make Core blog. The big takeaway is that 2019 was supposed to be the year that we got closer to full-site customization (Phase 2 of the Gutenberg project). While developers have made huge strides in making that a reality, much of the project is still in its infancy.

Projects That Shipped in 2019

All existing core WordPress widgets now exist as blocks. Rather than being limited to placing widgets where the theme decides, users can now put widgets in posts, pages, or any other content area via the block editor. As the project continues to move toward full-site editing, users will eventually have the ability to place these widgets and other blocks nearly anywhere.

The site health project was merged into core. It features a screen that provides information about the site’s health to site owners. It also has a fatal-error detection script that emails site owners when plugin and theme issues are found.

Projects to Expect in 2020

Most of the remaining projects that did not quite make the cut for release in 2019 have still made progress during the year. The following is a breakdown of what projects to expect in the coming year.

Navigation Menu Block

Navigation block in the block editor.

Currently, the navigation block’s target is to ship with WordPress 5.4. This is a likely reality because it is now out of the experimental stage and is available for beta testing in Gutenberg 7.0. The development team worked on this block for several releases and now have something stable enough for user testing.

This block is a major piece of the site-customization puzzle. In the long term, users will need an easy-to-use block for handling navigation menus across their site.

Custom Block-Aware Content Areas for Themes

Phase 1 of the Gutenberg project brought the block editor to post content. A large part of Phase 2 is breaking outside of post content and allowing users to add blocks in more areas. It is unclear exactly what that will look like in the long run. Themes should be able to register additional block-aware areas.

The target release for this feature is set to WordPress 5.5, but it is too early to guess whether that is a realistic target. It is a tough issue to solve because it will need to coincide with decisions on theme block templates, saving multiple entities, and full-site customization in general. It is not a feature that can be rushed because it will have far-reaching consequences to how WordPress works for years into the future.

Widget Areas to Support Blocks

Experimental widget areas feature in Gutenberg.

The current plan is to allow widget areas (sidebars) to support blocks alongside widgets. The Gutenberg plugin has an experimental widget areas option for enabling an early version of this feature, which has a target release of WordPress 5.5.

There are two aspects to making this feature a reality. The first is making it work on the widgets admin screen. The second is making it work in the customizer, an area where users can also manage widgets.

At the moment, it feels like the sidebar concept should be deprecated. The experimental feature works by allowing users to add blocks to a sidebar, which are converted into one big “block area” widget on output. If WordPress is “all in” on the block paradigm, energy would be better spent focusing on allowing themes to build custom block areas and letting the official Sidebar API die a slow death. Mixing an old concept with a new one feels clunky at best. It’s time to move on and soft-deprecate sidebars and widgets until most themes no longer support them.

Block Directory Search and Install

Experimental block directory search in Gutenberg plugin.

Eventually, all WordPress users will be able to search for a block via the block inserter. If the block exists, they can insert it into the block area. If not, the inserter will allow users to discover new blocks from the block directory. The installation, activation, and insertion of the new block should be seamless.

The target release for this feature is set for WordPress 5.5, which should be possible (if not earlier) based on how well the feature currently works in the Gutenberg plugin. It is not perfect yet and has broken more than a few of my posts when working with installed blocks. There are still several open issues that need to be addressed.

Plugin authors who are looking to get ahead of the game can submit block plugins by following the block plugin guidelines.

Automatic Plugin, Theme, and Major Core Updates

After years of extensive testing and using automatic updates for minor WordPress releases, it feels like we should already have auto-updates on everything at this point. Having to keep up with plugin and theme updates can be a pain for some site owners. With enough plugins, it is not out of the realm of possibility to have one or more plugins to update daily.

Some hosting solutions and Jetpack have mitigated this issue for many users by offering automatic plugin updates, but this is a long overdue core feature that should be a high priority. No target release was given for auto-updates on themes/plugins or major core releases. Let’s hope the feature does not get put on the back burner for another year.

Tackling Over 6,500 Trac Issues

With the Gutenberg plugin getting much of the attention these days, it is easy to forget that there are thousands of tickets awaiting patches, reviews, and decisions on Trac. I have long been a champion of using one major release of WordPress to simply fix existing bugs while adding no new features.

Jonathan Desrosiers has written an extensive post that covers much of the work the Triage Team has done earlier this year.

Triaging is not something that ever truly reaches a conclusion. It is an ongoing process that must continue throughout the life of a project. People who are interested in being involved with the Triage Team can find more information on the Triage Team announcement post.

by Justin Tadlock at December 09, 2019 09:25 PM under News

HeroPress: Video from DoSummitGood

I recently took part in DoSummitGood, an online conference for people and organizations working to Do Good in the WordPress community.

The organizers managed to get recordings of all the talks on YouTube the very next day, which is pretty impressive.

In this talk I tell a lot more about what was going on in my personal life while spinning up HeroPress, so I recommend checking it out even if you’ve already heard the story.

The post Video from DoSummitGood appeared first on HeroPress.

December 09, 2019 04:13 PM under Community

December 06, 2019

WordPress.org blog: People of WordPress: Jill Binder

You’ve probably heard that WordPress is open-source software, and may know that it’s created and run by volunteers. WordPress enthusiasts share many examples of how WordPress changed people’s lives for the better. This monthly series shares some of those lesser-known, amazing stories.

Meet Jill Binder

Jill Binder never meant to become an activist. She insists it was an accident.

Despite that, Jill has led the Diversity Outreach Speaker Training working group in the WordPress Community team since 2017. This group is dedicated to increasing the number of women and other underrepresented groups who are stepping up to become speakers at WordPress Meetups, WordCamps, and events. 

Jill’s back story


Jill’s WordPress story begins in 2011, in Vancouver, Canada. Jill secured an internship for her college program, working on a higher education website that was built in WordPress. As a thank you, her practicum advisor bought Jill a ticket to WordCamp Vancouver 2011: Developer’s Edition. After that Jill began freelancing  with WordPress as a Solopreneur. 

First steps in the WordPress community

The following year her internship advisor, who had become a client, was creating the first ever BuddyCamp for BuddyPress. He asked Jill to be on his organizing team. At that event she also moderated a panel that had Matt Mullenweg on it. Then, Jill was invited to be on the core organizing team for WordCamp Vancouver.

Part of this role meant reviewing and selecting speakers. From 40 speaker applications that could be a fit the team had to pick only 14 to speak.

The diversity challenge when selecting speakers

For anyone who has organized a conference, you know that speaker selection is hard. Of the 40 applications, 7 were from women, and the lead organizer selected 6 of those to be included in the speaker line up.

At this point Jill wasn’t aware that very few women apply to speak at tech conferences and suggested selection should be made on the best fit for the conference. The team shared that not only did they feel the pitches were good and fit the conference, but they also needed to be accepted or the Organizers would be criticized for a lack of diversity.

Selecting women for fear of criticism is embarrassing to admit, but that’s how people felt in 2013.

By the time the event happened, though, the number of women speakers dropped to 4. And with an additional track being added, the number of speakers overall was up to 28. Only 1 speaker in 7 was a woman (or 14%) and attendees did ask questions and even blogged about the lack of representation.

What keeps women from applying?

Later that year at  WordCamp San Francisco—the biggest WordCamp at the time (before there was a WordCamp US)—Jill took the opportunity to chat with other organizers about her experience. She found out that many organizers had trouble getting enough women to present.

Surprisingly Vancouver had a high number of women applicants in comparison to others, and the consensus was more would be accepted  if only more would apply.

Jill decided that she  needed to know why this was happening? Why weren’t there more women applying? She started researching, reading, and talking to people.

Though this issue is complex, two things came up over and over:

  • “What would I talk about?”
  • “I’m not an expert on anything. I don’t know enough about anything to give a talk on it.”

A first workshop with encouraging results

Then Jill had an idea. She brought up the issue at an event and someone suggested that they should get women together in a room and brainstorm speaker topics.

So Jill became the lead of a small group creating a workshop in Vancouver: the talented Vanessa Chu, Kate Moore Hermes, and Mandi Wise. In one of the exercises that they created, participants were invited to brainstorm ideas—this proved that they had literally a hundred topic ideas and the biggest problem then became picking just one!

In the first workshop, they focussed on:

  • Why it matters that women (added later: diverse groups) are in the front of the room
  • The myths of what it takes to be the speaker at the front of the room (aka beating impostor syndrome)
  • Different presentation formats, especially story-telling
  • Finding and refining a topic
  • Tips to become a better speaker
  • Leveling up by speaking in front of the group throughout the afternoon
women gathering to discussion presentation topicsVancouver Workshop 2014

Leading to workshops across North America and then the world

Other cities across North America heard about the workshop and started hosting them, adding their own material.

Many women who initially joined her workshop wanted help getting even better at public speaking. So Jill’s Vancouver team added in some material created from the other cities and a bit more of their own. Such as:

  • Coming up with a great title
  • Writing a pitch that is more likely to get accepted
  • Writing a bio
  • Creating an outline

At WordCamp Vancouver 2014—only one year since Jill started—there were 50% women speakers and 3 times the number of women applicants! Not only that, but this WordCamp was a Developer’s Edition, where it’s more challenging to find women developers in general, let alone those who will step up to speak.

More work is needed!

Impressive as those results were, the reason Jill is so passionate about this work is because of what happened next:

  • Some of the women who attended the workshop stepped up to be leaders in the community and created new content for other women.
  • A handful of others became WordCamp organizers. One year Vancouver had an almost all-female organizing team – 5 out of 6!
  • It also influenced local businesses. One local business owner loved what one of the women speakers said so much that he hired her immediately. She was the first woman developer on the team, and soon after she became the Senior Developer.

Diversity touches on many levels

Jill has seen time and again what happens when different people speak at the front of the room. More people feel welcome in the community. The speakers and the new community members bring new ideas and new passions that help to make the technology we are creating more inclusive. And together we generate new ideas that benefit everyone.

This workshop was so successful, with typical results of going from 10% to 40-60% women speakers at WordCamps, that the WordPress Global Community Team asked Jill to promote it and train it for women and all diverse groups around the world. In late 2017, Jill started leading the Diverse Speaker Training group (#wpdiversity).

Dozens of community members across the world have now been trained to lead the workshop. With now dozens of workshops worldwide, for WordPress and other open source software projects as well, there is an increase in speaker diversity. 

Diverse Speaker Training group WordCamp US 2019

As a result of the success, Jill is now sponsored to continue the program. The first sponsor is Automattic. She’s proud of how the diversity represented on the stage adds value not only to the brand but also in the long-term will lead to the creation of a better product. She’s inspired by seeing the communities change as a result of the new voices and new ideas at the WordPress events.

Jill’s leadership in the development and growth of the Diversity Outreach Speaker Training initiative has had a positive, measurable impact on WordPress community events worldwide. When WordPress events are more diverse, the WordPress project gets more diverse — which makes WordPress better for more people.”

Andrea Middleton, Community organizer on the WordPress open source project



Alison Rothwell (@wpfiddlybits), Yvette Sonneveld (@yvettesonneveld), Josepha Haden (@chanthaboune), Topher DeRosia (@topher1kenobe)

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

Meet more WordPress community members over at HeroPress.com!

Correction: December 7, 2019
The original article mentioned the team Jill lead, but did not mention the team members who joined her. Those have been added. Apologies to Vanessa, Kate, and Mandi. 🙂

by Josepha at December 06, 2019 11:27 PM under Interviews

WPTavern: Zero BS CRM 3.0 Improves UI, Changes Database Structure, and Becomes More Extendable

The team behind Zero BS CRM launched version 3.0 of their WordPress plugin today. This is the first major release since the plugin was acquired by Automattic in August. The updated plugin uses custom database tables, opens the plugin for more extensions, and has a more consistent UI than previous versions.

CRM is an acronym for “customer relationship management.” CRM systems allow businesses to manage their customer relationships through an interface. How CRM systems work can vary greatly, depending on the software used. In general, the goal is to help manage contacts, sales, and productivity.

Zero BS CRM was co-created by Mike Stott and Woody Hayday. Despite a low number of plugin users (around 1,000 at acquisition), Automattic acquired the plugin based on the strength of the product. Currently, Stott and Hayday are the primary developers on the plugin and maintain more than 30 commercial extensions for it.

Many CRM solutions are SaaS products, such as Salesforce CRM and HubSpot CRM. “The main benefit of ZBS CRM over online SaaS type solutions is it sits in your WP admin dashboard, and you own your own data,” said Stott.

Version 3.0 of the plugin improves in several key areas. One major change is the switch to custom database tables rather than pigeon-holing everything into a custom post type. This change should speed up accessing data such as contacts and transactions in large databases.

Users should benefit from a much improved and consistent UI from previous versions. Zero BS CRM does not strictly follow the core WordPress admin UI. “When looking at ZBS CRM and how to tie in all our menu items into the WordPress UI – it wasn’t easy,” said Stott. “We settled on using a UI framework with our own top menu, and a natural follow-on for that was to draw our list views using that same UI and button systems. Whether we move this back or not depends on feedback from our users — we get a lot of positive feedback on how easy it is to navigate around and wouldn’t want to change something that’s been getting good feedback.”

Contact management screen in the Zero BS CRM plugin.

Moving to custom tables over custom post types has also helped improve elements of the UI. Stott said a huge advantage is not having third-party plugins accidentally adding themselves to the plugin’s admin pages, such as having unnecessary SEO options on contact records.

Another big change in 3.0 was building out a more extendable foundation for the plugin. This will open up custom CRM objects in the future. For example, plugin users could manage resources such as “properties” or “campuses” along with customer contact data. This update creates more potential for industry-specific extensions.

“It really opens the door for more extendibility in the future,” said Stott, “and through an improved API in 2020 will allow for us to do more work across platforms and open up our CRM tools to more people.”

The Zero BS CRM plugin remains free and is available in the WordPress plugin repository. The primary source of income comes from its extension bundles, which are priced monthly and billed yearly. The website currently offers freelancer ($11/month), entrepreneur ($17/month), and elite ($30/month) pricing options. It also has a reseller plan available.

The Move to Automattic

When the plugin was first acquired, there was an initial idea to rebrand as “Jetpack CRM.” However, they have maintained the Zero BS CRM branding with an acronym instead of the direct expletive for “BS.” A rebrand may still be on the table in 2020 or beyond.

“We’ve been gathering user feedback and sentiment following the minor changes to ZBS CRM and the initial reactions if we were to rename as Jetpack CRM,” said Stott. “Since the shorter name, there’s been less objection or negative feelings, which puts less pressure on a big rebrand project, but it’s certainly something we’ll be coming back to.”

Stott said the primary focus since the acquisition has been less on branding and more on delivering 3.0 to the existing customer base.

The acquisition by Automattic has helped with how their two-person team works. “The main thing is being able to lean on the amazing team and people throughout Automattic,” said Stott. “In the past, we’d only have Woody and my input, now we can reach out to experts in design, marketing, plus much more, and bounce our ideas around a vast pool of experience.”

He explained that the additional support resources of Automattic’s Happiness Engineers means that he and his partner can focus more on engineering and growing the product and team.

The acquisition of Zero BS CRM came during a busy year for Automattic. With major moves such as acquiring Tumblr and the Salesforce investment, this small plugin has mostly flown under the radar in comparison. Stott and Hayday have big plans for 2020. They would like to grow the engineering team and explore bringing their tools to more WordPress.com users.

The plugin’s growth has remained stable since the acquisition, according to Stott. “The announcement brought us some additional customers who saw the backing from Automattic as strong advocacy for the plugin over other solutions in the WordPress space, so they made the decision to join us,” he said. The plugin has doubled its active install count and now serves over 2,000 users. The team expects to continue growing in the coming months.

by Justin Tadlock at December 06, 2019 08:43 PM under CRM

December 05, 2019

WPTavern: Gutenberg: One Year Later

As we quickly head into the final weeks of 2019, we also pass the first anniversary of WordPress 5.0 and, subsequently, Gutenberg coming headlong into our lives.

Love it or hate it, Gutenberg is here to stay. If you had asked my thoughts on it last December, I would have probably sided with a large portion of other WordPress users.

What are you doing?

WordPress is fine, leave it alone!

Stop forcing me to use this!

Here we are, twelve months later, and you know what? I LOVE IT. And, I am not alone.

When it comes to writing content, I cannot imagine using the Classic Editor anymore. Sure, for a few paragraphs, the Classic Editor is fine. However, when you need to make a 4,000+ word post, Gutenberg and the new block system make things a lot easier.

Yes, the UI is a struggle for someone brand new to WordPress. We have all heard the “Wait, I thought you said this was like Word?” line. A good onboarding process would tackle that going forward. For the rest of us, if you have not adopted Gutenberg yet, you should take another look at it.

The Need for a New Editor

Let’s be honest. The Classic Editor was great for short posts, a couple of headlines and paragraphs, job done. But, how often were you going into the Text tab to remove an extra line break, fix a shortcode, or cut and paste a section to somewhere else in the post?  At best, it was a struggle. Often, it was excruciating to get your post just right before publishing.

Not only will I not miss this, but I am pleased that new users will not be exposed to it anymore either.

Classic Editor – Text tab in action

When I first heard of Gutenberg — before it was released in WordPress 5.0 — I installed the plugin and was immediately confused and slightly bewildered at the options. I wondered how I would edit in the future.

I, among many others, probably gave out the same noises as when Facebook and Twitter reveal a huge overhaul of their UI, agreeing with everyone that things would never be the same again. This was a mistake. Of course, I was both right and wrong at the same time. I just didn’t know it. Editing would not be the same again. Instead, it would be a lot better (with some adjustment).

I also know that many people will not agree with me and do not like the way Gutenberg looks or behaves to this day. But, if you give it some time and understand how it can make your life easier, it will do just that.

First, take the time to work out the difference between Blocks and Document. On the left you have all the blocks for your post or page, inserting them in merrily as you go. On the right, the Document panel controls everything else, handily changing when you need to fine-tune a block.

Gutenberg block editor in action

One of the most common complaints I have read is people struggling with the toolbar that appears as you hover over each block. There is a simple solution to this, and when it is enabled, the majority of people suddenly start to love it! Make sure you set the view to “Top Toolbar” in the Gutenberg options. Now you have a distraction and clutter-free editing environment to work with.

Gutenberg vs. Page Builders

Gutenberg is not a page builder, and it is a common argument thrown out by people on why they refuse to use it. They are right, it is not a replacement for the likes of Elementor or Beaver Builder. If you remove the comparison to page builders from your mind, you will find adapting to it is much easier.

My peers and I regularly chat about Gutenberg and agree it is already great for writing. The post creation process is a breath of fresh air. Others have great stories from their clients about being able to produce content and edit it with ease, and the number of editor-related support requests is down, which can only be a good thing.

However, many of us would not use it for designing pages. Instead, we still prefer to use one of the many page builders for that complete control.

Gutenberg Phase 2 will allow editing of the site to areas outside of the main content (e.g., headers, footers, sidebars) and will creep further into the page builder category, which means we will have a strange blend of Gutenberg and page builders living side by side on many sites soon.

Will it remove the complete need for themes? Who knows? I suspect we will have people further divided into opposing camps going forward, but what a great opportunity for us to collectively work on for a better overall experience in the end.

By the Numbers

Let us take a quick look at Gutenberg and its penetration to date.

Currently, 63.8% of all WordPress installs are running 5.x onward according to WordPress.org, which means Gutenberg is available natively on nearly two-thirds of all WordPress installs.

But, it is not all red roses when it comes to adoption.

The Classic Editor plugin has over 5 million active installs (and a rather biased 723 five-star reviews, such as “Keep this forever” and “Never going to give it up!”). It is also currently in the top five of the most popular plugins.

Is this the backlash against Gutenberg or incompatibility with older themes forcing users to use the Classic Editor for now? At a guess, a good majority is probably the latter combined with some diehards.

But, look at the graph below from the Classic Editor plugin page.

Growth is declining. That is not a movement of people who continue to install Classic Editor on new installs and refuse to adapt.

Classic Editor adoption will likely continue falling, and perhaps the original date of it being supported until 2022 isn’t that far-fetched after all (note: they have said they will continue to support it longer if needed).

On the flip-side, the Gutenberg plugin has 200,000 active installs and a whopping two-thirds of reviews (2,003) are a paltry one star. However, many are merely unhelpful complaints (e.g., “This is junk” and “Destroy it”). They do not tell the true story to novices.

As you can see from the graph below for the Gutenberg plugin, active install growth is up and continues to climb. It is not at the same pace as the decline with the Classic Editor, but that is probably because it is bundled with WordPress now.

One thing people seem to forget is Gutenberg is a plugin in and of itself. It is updated frequently, whereas the majority of users only see changes to it when there is a WordPress core update.

If you can see past the fields of one-star reviews and install the plugin, you will be rewarded with more frequent updates to the experience.

For example, version 7.0 recently added in the Navigation block as stable, allowing users to quickly create a menu of links. Don’t get me wrong; this does require theme integration for it to work, but you can get a better idea of where it is heading on a more frequent basis this way (7.0 is expected to ship with WordPress 5.4 in March/April 2020).

Block Party

Compatibility with Gutenberg continues at a quick pace. With over 21 pages of block-enabled plugins available on WordPress.org, pretty much all the popular plugins have solutions in place. A fair amount of plugin updates these days are also adding new and enhanced blocks as standard.

If those are not enough for you, we also now have a new breed of block-specific plugins. There is a growing trend of plugins devoted to purely enhancing the style and number of blocks you can add to your site.

Popular Gutenberg-focused plugins such as Stackable and EditorsKit add further styling and editing abilities, bringing you another step closer to full-page design and enhancing your content.

EditorsKit – a purely Gutenberg plugin.

Because no one knows how far Gutenberg will go and which toes it will step on, block plugins may have a fight on their hands in the future. At the pace they are being released and updated, it is a good sign of a committed global collective who not only believe in the future of blocks but is excited about it too.

What Does the Future Hold?

Gutenberg is here to stay, and I don’t think any of us have ever denied that. It is probably not an issue for anyone who started using WordPress for the first time this year.

Thankfully, for those already deeply embedded in WordPress, things are getting easier (and I would say more enjoyable) with the growth of the new Gutenberg-specific plugins.

With the advent of platforms such as Wix and Squarespace, it was obvious that WordPress needed something to make it more user-friendly and Gutenberg is a solid attempt at that. It is still a bit rough around the edges, but the days we look back nostalgically at the Classic Editor are likely numbered.

How will it look at the end of 2020? Will you still be using the Classic Editor?

by Chris Hughes at December 05, 2019 05:49 PM under gutenberg

December 04, 2019

WPTavern: Initial Documentation for Block-Based WordPress Themes Proposed

In a pull request on the Gutenberg repository yesterday, Riad Benguella created an initial document that outlines how block-based WordPress themes might work. While the document is merely a starting point for the conversation, it is a set of ideas that will likely forever reshape the WordPress landscape. It is paradigm-shifting.

For the first time, theme authors can glimpse what their future holds. Since the inception of Gutenberg, many have asked for more technical details. Particularly, they wanted to know whether themes would be reduced to a stylesheet or a stylesheet and a few PHP files. What would themes look like architecturally? Would themes exist at all?

The document, while open for changes, makes a strong case about the structure of themes going forward. It is clear that much forethought has gone into the proposal. It matches the direction of the experimental site-editing feature in Gutenberg that has already been set in motion. Even though it is subject to change, there seems to be a finality to the overarching idea. The writing has long been on the wall. Now everyone can see the wall. The missing piece is figuring out how to bring the idea to fruition.

What is Full Site Editing?

Before understanding how themes of the future might work, you must first understand the direction that Gutenberg is headed. The end goal for Gutenberg, and eventually WordPress, is for users to have the ability to customize every aspect of their site via the block system. Currently, the block system primarily handles editing post content.

To move to full-site editing, every piece of dynamic data about a site must be a block. For example, a site title block must exist as a placeholder for the site title. Users should be able to place it anywhere they desire to output the title, such as in the header.

This has left theme authors with a reasonable question: If users can move these blocks anywhere, where do themes fit into the picture?

It is easy to see how themes would become little more than a stylesheet that styles every WordPress block while also handling other necessary styles like typography and vertical rhythm. Even then, it makes one wonder if themes, at least in how we have come to know them, are necessary at all.

The Proposed Theme Structure

The proposed structure does not look much different from current WordPress themes. The big difference is that theme templates would become “block templates” and “block template parts.” These templates would be HTML files rather than PHP files.

The following is where the structure currently stands.

|__ style.css
|__ functions.php
|__ block-templates
    |__ index.html
    |__ single.html
    |__ archive.html
    |__ ...
|__ block-template-parts
    |__ header.html
    |__ footer.html
    |__ sidebar.html
    |__ ...

From a templating perspective, it appears relatively normal for a WordPress theme. The files simply have a different type and are organized in specific folders.

However, the difference is how the HTML templates would work. They would essentially become placeholders for blocks. Users would also have the ability to edit or completely overwrite individual templates via the WordPress admin. Because templates are made up of blocks, no code would be necessary on the user’s part. They could simply point and click to insert or remove blocks with their mouse.

In other words, block templates within themes would be unique starting points for users to build their sites.

There are two noteworthy items about the proposed system: themes are still themes and end-users can become theme builders.

The Essence of a Theme Remains the Same

When you cut through everything else, WordPress themes have always been HTML and CSS. The PHP aspect of theming basically mixes PHP function calls (i.e., template tags) within some structured HTML markup. If you look at most themes going through the official WordPress theme directory, you will find that the underlying markup is mostly the same.

In the block template system, this idea doesn’t change. If anything, it could simplify the role of theme author by creating a set of standard elements (blocks) that themes output. If done right, it also creates a standard for class names so that styles can easily be shared across themes and all sorts of similar goodies.

Anyone Can Build a Theme

The initial outline explains the potential of exporting themes:

Ultimately, any WordPress user with the correct capabilities (example: administrator WordPress role) will be able to access these templates in the WordPress admin, edit them in dedicated views and potentially export the templates as a theme.

This is where the proposed system could revolutionize website building. Those without the coding skills to create a WordPress theme today could have the tools to contribute something back tomorrow.

The idea aligns perfectly with the open-source ethos of WordPress. By giving everyone the ability to export their customizations, it provides an avenue for contributing that we have never had before for non-coders. A free directory of customized themes created by and for the community, anyone?

The Design Side of the Equation

Block templates are merely the HTML. Themes will need to stand apart with their CSS. However, there must be standardization to pull this off.

Designers will need to shift to a block-based approach when it comes to design. Some may already be familiar with various “component-based” systems, which would work much the same way. Rather than designing from the top-down, theme authors would approach design on a more atomic level by designing each block.

There are also many unanswered questions about how styles will eventually work. Currently, there is an open ticket for discussing a style system for blocks. Much of the discussion is around how to integrate a design system with themes.

Join the Discussion

It is important to point out that nothing about this proposal is set in stone. It is a high-level outline of what the future of themes could hold. However, now is time for input from the community, especially theme authors who may have felt a bit out of the loop in the past. Now is the time to make your voice heard and to contribute ideas to the discussion.

The WordPress theme review team also has an open discussion on the future of themes that goes along with this proposal and whether themes should start taking advantage of experimental Gutenberg features.

by Justin Tadlock at December 04, 2019 08:56 PM under gutenberg

December 03, 2019

WPTavern: Black Friday Banner Gone Wrong: Advertising in Free Plugins

Screenshot of the Yoast Black Friday Ad

On November 28, millions of people awoke to a Black Friday ad on nearly every page of their WordPress admin, courtesy of the Yoast SEO plugin. That day also coincided with the U.S. Thanksgiving holiday, so it left freelancers and agencies scrambling to address a banner on their clients’ sites on a day they likely planned to spend with family. The ad was not limited to users with administrative permissions either, so some site owners were troubled to find users with low-level permissions could see the ad in the WordPress admin.

The initial code for the banner was added on October 25, which made its way into version 12.4 of the Yoast SEO plugin. The code for the banner ad limited its output between November 28 and December 3 (Cyber Monday).

After blowback from users, the Yoast team published an updated version of the plugin without the banner. However, the initial damage was done. Users began immediately leaving poor reviews for the plugin. The 1-star reviews are still coming in, putting the number over 100 in the span of five days.

“That BlackFridayBanner was not the best idea,” wrote Marieke van de Rakt, CEO of Yoast, on Twitter. “We’re truly sorry for the annoyance and difficulties it may have caused. We did not think this through properly. If you want, you can update to a new version of our plugin without that banner.”

The initial decision to place the ad was about growth for Yoast’s premium products. The company has not grown as fast as expected over the past year explained van de Rakt. They had also seen other plugins use those types of ads, which was a part of the decision to run it.

“Let’s be clear,” said van de Rakt. “This was a mistake. We just didn’t think this one through. It was incredibly stupid. So I can talk about why we made a decision, but I don’t want that to be the explanation. The explanation is that we made a mistake.”

The ad was an animated banner, and some users complained that it was difficult to dismiss. All notices in plugins available through the WordPress plugin directory must be dismissible. “That was a technical mistake,” said van de Rakt of the issues with clicking the “x” icon for dismissal.

While the team had seen other plugins run similar ads in the past, van de Rakt explained that they didn’t take into account how large of a user base Yoast SEO has in comparison to those plugins. “For so many users, we were the first plugin that done this,” she said. “They never saw this before in their backend. And they freak out. This was a complete error of judgment.”

Yoast plans to talk more with its plugin’s users. Currently, the team is looking into creating a user-testing panel to prevent similar situations in the future.

“In hindsight, and that’s what I feel most bad about, the banner did not fit our values,” said van de Rakt. “These kinds of banners are not ‘Yoast.’ Perhaps, if we state more explicitly what we as Yoast find important and what fits Yoast and what doesn’t, a mistake like this will be made less quickly.”

Making Money with Freemium Products

Yoast is a large company within the WordPress space. It employs 90 people in its primary office in Wijchen, the Netherlands. It also has an additional 20 employees around the world. Running a successful business means paying everyone, contributing back to WordPress with its five-for-the-future work, and running charitable programs such as the Yoast Diversity Fund.

Currently, the Yoast SEO plugin has over 5 million active installs. According to van de Rakt, only around 2% of the plugin’s users also use the company’s premium products. Such a large plugin needs continuous funding to support and maintain.

Advertising a product or service in an internet culture that is seemingly averse to ads is not always easy. “It’s rather hard to find ways to reach our audience, and we also have some principles on how (not) to do that,” said van de Rakt. “We like to advertise in a straight-forward way. Tell people what they’re buying. Ads are very annoying, but at least they are clear in what they’re doing.”

One issue that plugin companies run into is the lack of an official premium marketplace for WordPress. Currently, companies have to resort to in-admin advertising or similar tactics to push users on an upsell. Most of Yoast’s premium products are sold through banners on the plugin’s pages in the WordPress admin. Such practices do not always go over well with users, particularly when they are using a free product. One wrong step and it could spell disaster for future growth. Yoast is large enough to bounce back, but smaller companies may struggle more.

It is a tough balancing act between providing a valuable free product and making enough of a return to run a successful company. The Yoast team does not want to lock their popular SEO plugin completely behind a paywall. “Our mission is SEO for everyone,” said van de Rakt. “We believe that every idea should have a fair chance in the search results. That means that also without any funds, people should be able to have a good working SEO plugin. Our free plugin is really important to us.”

“I had a really bad weekend,” said van de Rakt. “I am a people pleaser and I was terribly sad by what happened. But, the discussion about how to handle this is a good one.”

Perhaps some good will come of this incident if there is an open dialogue. “These kinds of things sometimes lead to different ‘rule-sets’ or policies within WordPress,” said van de Rakt. “Might even mean that there will be different and better ways for premium plugins to market their products.”

by Justin Tadlock at December 03, 2019 08:53 PM under yoast seo

BuddyPress: ​​Contributing to BuddyPress just got easier :)

Yesterday morning we’ve deployed the first stable version of the BP Beta Tester plugin on the WordPress.org plugins directory.​​

This plugin’s goal is to make it easier to beta test our pre-releases. You just need to install and activate the plugin to be ready to try our beta and release candidate versions once we’ve announced them on this blog.​​

Beta testing BuddyPress is very important to make sure it behaves the right way for you and for the community. Although we, the BuddyPress Development Team, are regularly testing it, it’s very challenging to test every possible configuration of WordPress and BuddyPress. That’s why we absolutely need your help during these pre-release stages.​​

Making this plugin available was one of the means we thought about during our post 5.0.0 release development meeting to have more BuddyPress contributors.​​

Beta testing is actually a good way to start contributing, to anticipate and fix potential issues before you have the bad surprise to meet them once you’re upgrading to a new stable version of the plugin.​​

NB: to beta test BuddyPress, we strongly advise you to have a local copy of your live site or a staging site : it’s always safer than doing it on a production site.​​

During our next pre-release stages, when you will find something is going wrong during your beta tests, please think of warning us about it submitting a ticket on our Development Tracker or posting a new topic in our support forums.​​

Thanks in advance for your time and help <3

by Mathieu Viet at December 03, 2019 12:27 PM under contributors

December 02, 2019

WPTavern: Gutenberg 7.0 Launches Stable Navigation Block, Post Blocks, and Template Parts

On November 27, Gutenberg 7.0 landed with several features, enhancements, and bug fixes. Most notably, the navigation block is now a stable feature. Theme authors can also start using block template parts and testing the post title and content blocks.

The update addressed several bugs with the block editor. It also introduced new developer features such as the card component and the ability to internationalize strings with safe HTML.

Gradient classes are now used for the cover block. Classes are a nicer solution than the inline styles used in earlier iterations. Note that gradients are still an experimental feature.

For developers, there is a new backward-compatibility document that outlines how the project preserves compatibility in its public APIs. This should be useful for all developers working on the project in the future.

Navigation Block Now Stable

Creating a nav menu with the navigation block.

The navigation block is now a stable feature and no longer considered experimental. The interface is much improved over earlier implementations. For quickly building a menu of links, it does the job. Users can manually type a link or search for an existing link for the site.

A user interface for nav menus in the block editor is no easy beast to tame. The Gutenberg team managed to fit in the most common features without making it feel confusing. For users, theme integration may be limited until their themes are updated with full support. The default Gutenberg design may not be ideal or work at all in the context of the active theme.

The navigation block also comes with both light and dark block styles. Theme authors can design these how they prefer, add additional styles, or remove the styles altogether. More than likely, theme authors will begin adding several variations to their themes as a selling point in the long run.

The Gutenberg team dropped the background color option from the navigation block. Instead, users are encouraged to place it within a group block and add a background to the group. It is possible to change the link text color directly within the navigation block.

Currently, there is no parity between normal nav menu HTML classes and navigation block classes. This could result in bulkier theme CSS, at least in the transition between how themes currently work and the full site-editing era. Inconsistent classes is an issue that should be handled with a design framework.

Post Title and Content Blocks Added

Customized post title block output.

As part of the experimental site-editing feature, Gutenberg has introduced the post title and post content blocks. These blocks act as placeholders and will output either the title or content. Both blocks are foundational elements for true full-site editing. Eventually, users will no longer be as limited to how their posts are output on the screen.

Currently, the post title block simply outputs the post title inside of <h1> tags. There are no classes for customizing the design. The other missing element at this point is the post byline or meta area that often accompanies the title. In the long run, Gutenberg needs to have a method of handling post header and footer areas.

The custom post header feature has plagued theme authors for years, long before Gutenberg was around. There are dozens or more implementations in the wild. Some of them work with the block editor. Others use custom post meta or the featured image. However, users are often left with sub-par implementations that don’t always work in the context of a specific post.

One of the features I have wanted to implement within Gutenberg is the “hero” image with text set over the top. By using the built-in cover block and the post title block, I was able to accomplish this. However, it was still missing the post byline. Therefore, I put together a quick filter to output the post byline when the post title block is in use.

Any theme author who wants to test it out can modify the following code. I would not recommend this in production since this is an experimental feature, but it is good to start thinking ahead about possibilities.

add_filter( 'pre_render_block', function( $block_content, $block ) {

    if ( 'core/post-title' === $block['blockName'] ) {

        $post = gutenberg_get_post_from_context();

        if ( ! $post ) {
            return $block_content;

        if ( 'post' === $post->post_type ) {

            $block_content = '<h1 class="entry__title">' . get_the_title( $post ) . '</h1>';

            $block_content .= sprintf(
                '<div class="entry__byline">%s &middot; %s &middot; %s</div>',
                get_the_term_list( $post->ID, 'category' )

    return $block_content;

}, 10, 2 );

Block Template Parts for Themes

Gutenberg 6.9 introduced block templates that resolve from a theme’s /block-templates folder as part of the site-building experiment. Version 7.0 takes that a step farther and introduces a block template parts system, which resolves from a theme’s /block-template-parts directory.

This new system allows top-level templates to house smaller, reusable template parts. This is a rather standard method of template-part handling that has become a part of the normal theme-building experience.

It will be interesting to see how this works in the long run. WordPress’ current template part system for theme authors (i.e., get_template_part()) is a bare-bones implementation with little flexibility for handling features like hierarchy and passing data. Thus far, the new feature seems to be a melding of blocks and old templating ideas, but it is too early in the process to see where it goes or whether theme authors will have to make customizations to bend the system to their will.

by Justin Tadlock at December 02, 2019 07:22 PM under gutenberg

WordPress.org blog: The Month in WordPress: November 2019

November has been a big month in the WordPress community. New releases, big events, and a push for more contributors have characterized the work being done across the project — read on to find out more!

The release of WordPress 5.3 “Kirk”

WordPress 5.3 was released on November 12, and is available for download or update in your dashboard! Named “Kirk,” after jazz multi-instrumentalist Rahsaan Roland Kirk, 5.3 enhances the block editor with new APIs and theme-related features, adds more intuitive interactions, and improves accessibility in a number of areas — including CSS in the dashboard, the media manager, core widgets, and dozens of other areas.

You can read the full details of all the included enhancements in the 5.3 Field Guide.

Along with 5.3 came the new Twenty Twenty theme, which gives users more design flexibility and integrates with the block editor. For more information about the improvements to the block editor, expanded design flexibility, the Twenty Twenty theme, and to see the huge list of amazing contributors who made this release possible, read the full announcement.

Want to get involved in building WordPress Core? Follow the Core team blog and join the #core channel in the Making WordPress Slack group. You can also provide feedback on the 5.3 release process.

At Last! bbPress 2.6!

bbPress 2.6 was released on November 12 after a little over six years in development. This new release includes per-forum moderation, new platforms to import from, and an extensible engagements API. You can read more about all of this in the bbPress codex.

Version 2.6.1 and 2.6.2 quickly followed, both of which fixed a number of bugs that required immediate attention.

Want to get involved in building bbPress? Follow the bbPress blog and join the #bbpress channel in the Making WordPress Slack group.

State of the Word

WordCamp US 2019 was held in St. Louis, MO this year on November 1-3. At the event, @matt gave his annual State of the Word address, during which he shared what had been accomplished in the past year, announced what is coming next, and shared several ways to get involved.

You can watch the State of the Word as well as the Q&A session at the end, and read Matt’s recap of the address. If you didn’t make it to St. Louis, you can still watch all the sessions at your leisure.

Five for the Future

During the State of the Word, Matt announced that there is now a dedicated landing page for Five for the Future, which features the people and organizations that commit at least it 5% of their resources to the WordPress open source project. There are many ways to contribute to WordPress, such as core development, marketing, translation, training, and community organizing, among many other important paths to contribution.

Five for the Future welcomes individuals and organizations, and highlights all the incredible ways we build WordPress together. For more information, visit the Five for the Future page.

Further Reading:

  • After releasing WordPress 5.3, the Core team announced a tentative release schedule for 2020 and 2021.
  • The Core team has announced a new CSS focus to complement the existing ones for PHP and JavaScript — this focus comes with dedicated tags, targeted work, and a new #core-css Slack channel.
  • Version 2.2 of the WordPress Coding Standards has been released — this new release is ready for WordPress 5.3, includes five brand new sniffs, and plenty of new command-line documentation.
  • The latest update to the Theme Review Coding Standards, v0.2.1, is compatible with v2.2 of the WordPress Coding Standards, and helps authors to build more standards-compatible themes.
  • The WordCamp US team has announced the dates for next year’s event in St. Louis, MO — WordCamp US 2020 will be held on October 27-29. This will be the first time that the event will be held during the week and not on a weekend. The team has also announced a Call for Organizers. If you are interested in joining the team, learn more
  • The WP Notify project, which is building a unified notification system for WordPress Core, is on hiatus until January 2020.
  • A working group on the Community Team has updated their Handbook to help organizers create more diverse events.
  • The WP-CLI team released v2.4.0 of the WordPress command-line tool. This release includes support for WordPress 5.3 and PHP 7.4.
  • Gutenberg development continues rapidly with the latest 7.0 release including an early version of the navigation menus block, among other enhancements and fixes.

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

by Hugh Lashbrooke at December 02, 2019 08:38 AM under Month in WordPress

November 30, 2019

Matt: Powering Your House

I enjoyed this fun video from xkcd’s Randall Munroe on different ways you could power your home, illustrated. Check out his book How To for more in the same vein.

by Matt at November 30, 2019 10:33 PM under Asides

November 27, 2019

WPTavern: WP&UP to Hold #DoSummitGood Online Event for Giving Tuesday

On Giving Tuesday, December 3, WP&UP is holding an online event called #DoSummitGood that features speakers from various “for good” WordPress organizations. The event will have nine sessions from 13 speakers. It begins at 13:00 UTC.

Giving Tuesday is a global movement meant to inspire generosity. The celebration has run each year since 2012 on the Tuesday following the U.S. Thanksgiving holiday. The idea is to inspire people to do good, not for just one day of the year, but each day of their lives.

A WordPress-focused event on Giving Tuesday sounds like a perfect match. Given the nature of open source and the charitable work of many of the people and companies in the space, it makes sense to hold a specific event for the holiday. “This is the first #DoSummitGood and there has already been a discussion about making this an annual event for Giving Tuesday,” said Dan Maby, CEO and a Trustee of WP&UP.

WP&UP is a registered charity organization with a mission to support and promote positive mental health within the WordPress community. Its Health Hubs cover topics like business, skills, physical, and mental health. The organization also provides support and counseling services.

The idea for the #DoSummitGood event was born from a WP&UP Town Hall in October. “Our focus is on collaboration and our Town Halls are an opportunity for members of the public to get involved and help brainstorm ideas for the community, as well as get to know more about what WP&UP does,” said Maby.

The primary event will run via Crowdcast. By registering for the event, attendees will gain access to the Hallway Track to meet with other attendees online. They will also have the ability to ask questions directly to the speakers. Registration is free but will close once it reaches a specific number of signups. “WP&UP is paying for the technical solution to deliver the event,” said Maby. “As a registered charity we have to be responsible for expenditure, and so limiting the number of seats for this first event is one way we can do that.”

For those who do not register and attend via Crowdcast, they can still watch and participate in the event through various social platforms:

Each of the sessions will feature various international speakers who will give a talk on their area of expertise. The sessions will follow a specific format and run for one hour. For the first 10 minutes of each session, the individual speaker or group will talk about the “for good” entity they represent. They will follow up with a 35-minute talk on their subject. Afterward, the speaker and attendees will participate in an open Q&A session.

The #DoSummitGood event is designed to give back. “Throughout the event, a donation form will be shared,” said Maby. “All money raised through this form will be distributed between the various non-profits that feature in the event.”

Cory Miller, a Trustee at WP&UP, will kick off the event with a session titled “The Iceberg of Life: How I Manage the Ups and Downs.” Miller has been open about mental health within the WordPress community and his struggles for several years. He has previously written on the topic of The Iceberg of Life, which is worth reading if you are looking to get an early look into what his session may be about.

Marieke van de Rakt will follow up with a talk about improving a site’s SEO. She is representing Yoast and its diversity fund program, which helps to remove the financial burdens that cause minorities or underrepresented groups to speak at conferences.

The nine sessions have a diverse group of speakers from various organizations that are currently providing support for charities, minorities, and other groups that need help. The topics include turning passion into a profession, bringing more diversity to speaking roles at conferences, and more. Two of the sessions will be round-table events with multiple speakers.

by Justin Tadlock at November 27, 2019 07:26 PM under Events

Matt: Distributed Podcast: Clark Valberg, Lydia X. Z. Brown, Stephen Wolfram, and the Grand Meetup

If y’all haven’t caught up recently with my podcast Distributed, this is a perfect moment to do so—the past several weeks have been full of insights from folks like InVision CEO Clark Valberg, attorney and advocate Lydia X. Z. Brown, Stephen Wolfram, and some of my own Automattic colleagues in-person at our Grand Meetup.

You can subscribe at Apple Podcasts, Google, Overcast, Spotify, or wherever you like to listen. 

The Importance of IRL in a World of Screens (Automattic Grand Meetup)

“When you work in a distributed company, every time that you interact with your colleagues via text… you are taking out of your social bank account with them. So when you get people together, that’s when you have the opportunity to see each other face-to-face, and remind everybody that you’re all human beings. And fill that social capital back up because it’s so hard to communicate via text.”

Building the Tools That Bring the Screen to Life (Clark Valberg, InVision) 

“We needed it as a talent hack, as a talent arbitrage. Hire the best people wherever they happen to be, figure everything out later, hire them quickly, get them in the ship as early as possible and start seeing results. How can I just hire the best people no matter where they are?”

Making Work Accessible, Wherever It Happens (Lydia X. Z. Brown)

“I have believed from a very young age that every single one of us has a moral obligation to use whatever resources we have — time, money, knowledge, skills, emotional energy, access to physical resources — however that might be defined — that we each have a moral obligation to use those resources in service of justice, and fighting against injustice and oppression and violence in all of its forms, structural and individual, subtle and overt.”

Inside Toptal’s Distributed Screening Process (Taso Du Val) 

“I was going into an office but not seeing anyone or interacting with anyone except myself. So it almost was this zombie-like walk to the office every morning where I’m going to the office because I go to work, but I don’t see anyone who I work with. [laughs] And so I actually started waking up and just working on my computer at home. And then I said to myself, ‘Well, why am I even working from home?'”

The Machine That Turns Ideas Into Real Things (Stephen Wolfram) 

“You can do things that are very commercial, but a little bit intellectually boring. And it tends to be the case that you’re doing a lot of rinse-and-repeat stuff if you want to grow purely commercially, so to speak. Or, you can do things that are wonderful intellectually, but the world doesn’t happen to value them and you can’t make commercial sense that way. And I’ve tried to navigate something in between those two where it’s where I’m really intellectually interested and where it’s commercially successful enough to sustain the process for a long time.”

Welcome to the Chaos (Sonal Gupta, Automattic)

“I like to trust people and give them autonomy. But I keep in touch with them very regularly and I think it becomes clear pretty quickly if somebody is not doing work. We look at performance, and we look at communication at a distributed company. Communication is oxygen.” 

Observe, Don’t Surveil: Managing Distributed Teams with Respect (Scott Berkun)

“To work at a remote company demanded great communication skills, and everyone had them. It was one of the great initial delights. Every corporation has the same platitudes for the importance of clear communication, yet utterly fails to practice it. There was little jargon at Automattic. No ‘deprioritized action items’ or ‘catalyzing of crossfunctional objectives.’ People wrote plainly, without pretense and with great charm.” 

How to Build and Strengthen Distributed Engineering Teams (Cate Huston, Automattic)

“A senior engineer makes the whole team better, but we don’t want to be prescriptive about how people made the team better. That was up to them. There were options, but that was the expectation for everyone on the team. You come in, you’re an experienced engineer, we expect you to be making the whole team better in some way, and what that looks like is up to you.” 

How to Stay Connected in a Distributed World (Leo Widrich) 

“I started to feel like I was hitting a wall. This thing that I always dreamt of, to have a profitable company, to be financially secure, to have a team… I felt that having that success, having some of that financial security — it left me unfulfilled in a lot of other areas. — in the sense of deep lasting connection and also a lack of emotional resilience to deal with the ups and downs that startup life comes with.”

Helping Creativity Happen from a Distance (John Maeda) 

“My point is blogging is good for you. It’s mental health, it’s expression, it’s sharing your process with the world. And when you relate to the world, your standard of quality floats to that value of the world. It’s a market economy of ideas and by putting ourselves out there, you become relevant.”

Engineering with Empathy (Han Yuan, Upwork) 

“We really want to encourage empathy in general. And so a key part of empathy is being able to try to see the other person’s point of view. And in an organization as distributed as ours where people come from all around the world, we view it as an essential ingredient to developing deep and meaningful collaboration.”

How to Do HR in a Blended Company (Zoe Harte, Upwork) 

“That means saying, ‘Okay, our entire organization will connect this many times a year in this many ways. There will be an all-department meeting once a month, once a quarter — whatever is appropriate — and that we will cover these three priorities and in broad progress and how it’s impacting the business overall.’ And then the expectation would be that the smaller subsets of teams are meeting in this way.”

On Building Automattic (Me)

“Our distributed roots did not come from some grand vision, but instead emerged from cold realities. Colocation (being in the same place, at the same time) is expensive!”

Is Remote Work Bulls—t? (Arianna Simpson)

“I think having people come and interrupt you every 25 seconds, as is often the case in open floor plans, is definitely not the most productive situation. So the model I’ve seen work well, or the model I lean towards, is having an office where people are working from, but having private offices or spaces where people can plug in their headphones and just do work alone while still being in the same place as, hopefully, all of their colleagues.”

For Years, VR Promised to Replace the Office. Could It Really Happen Now? (John Vechey, Pluto VR)

“The technology forces you to be present — in a way flatscreens do not — so that you gain authentic experiences, as authentic as in real life. People remember VR experiences not as a memory of something they saw but as something that happened to them.”

by Matt at November 27, 2019 03:53 AM under distributed work

November 26, 2019

WPTavern: WordPress Black Friday Sales Roundup

WordPress Black Friday Sales Roundup

Justin Tadlock · November 26, 2019 · News

‘Tis the largest shopping season of the year. While you are gearing up for a big weekend of finding that perfect gift for your family and friends, you might take a moment to consider giving your website a little something for the holiday.

The following is our roundup of WordPress hosting, services, and plugins that are on sale this week and next.

Hosting and Domain Deals

If you are in the market for a new host or have been sitting on a new domain name to purchase, now might be the time to start looking around to see if you can snag a good price.


BlueHost is running a weeklong event, which began on November 25. The web host is offering 60% off WordPress, 50% off VPS, and 40% off WordPress Pro hosting. The offer includes a free domain for the first year.

Visit BlueHost’s site →


DreamHost is cutting their prices on new domain registrations from November 25 through December 3, which ranges from a low $0.79 for .xyz to $6.99 for .com registrations. Beginning on Friday, November 29, they are offering deals on their Shared Unlimited hosting for 1-year ($5.95/month) and 3-year ($4.95/month) paid plans.

Visit DreamHost’s site →

WordPress Services

A couple of WordPress companies are offering markdowns on their services rather than products this shopping season.


WPScan, an online WordPress vulnerability scanner, is giving a 20% discount for the first three months on any of their paid plans. Use the coupon code BLACKFRIDAY20 at checkout.

Visit WPScan’s site →


WPDandy offers WordPress maintenance, management, and support, which includes backup and security services. The team is currently running 50% off each plan available. The Black Friday deal is currently open, but there is no mention of when it ends.

See WPDandy’s sale →


If you have had your eye on a particular plugin but have yet to pull the trigger, now may be a good chance to grab it. The following is a roundup of several plugins and plugin bundles. Some are currently on sale. Others will begin on Black Friday. Most sales will last several days.

Saturday Drive

Saturday Drive, the company behind Ninja Forms and Caldera Forms, has the most interesting Black Friday deal. Users have a chance of getting between 40% and 100% off either plugin by using the spinner at checkout. The company is also donating 10% of all sales to Operation Smile. The promotion runs between November 29 and December 3.

Read more about Saturday Drive’s Save it Forward event →


iThemes has a large selection of products, including its popular BackupBuddy and iThemes Security Pro plugins. The site is cutting prices 50% off any new plugin, combo pack, hosting, theme, Stash, or annual Sync plan from November 23 – December 2.

See iTheme’s sale →


GiveWP is a donations plugin that allows visitors to contribute to your cause directly from your website. They are running a 50%-off special for the next week. However, the sale is limited to the first 500 customers. This would be a good time to snag the plugin if you plan on collecting donations for Giving Tuesday next week.

See GiveWP’s sale →


Pootlepress, a WordPress plugin and theme shop, is slashing 40% off their WooBuilder Blocks and Storefront Blocks plugins, which integrate WooCommerce and Gutenberg. The sale begins on November 29 and ends on December 4.

Visit Pootlepress’ site →

Starfish Reviews

Starfish Reviews, a plugin designed to help businesses get more reviews on Google, Facebook, and other platforms, is currently on sale for 83% off. The lifetime deal ends on November 30.

See Starfish Review’s sale →


ProjectHuddle is a WordPress feedback plugin for use by agencies and freelancers to communicate with their clients. It allows clients to provide comments on mockups and more. Each pricing plan has been cut by 40%. The sale began on November 25 and runs through December 2.

See ProjectHuddle’s sale →

Paid Memberships Pro

Paid Memberships Pro is a WordPress community and memberships plugin that works with several payment gateways and integrates with community plugins such as bbPress and BuddyPress. The website is cutting $100 from its Plus plan and $200 from its Unlimited plan, both of which locks in a lifetime renewal rate. The offer runs from November 29 through December 2. Use the blackfriday discount code at checkout.

See Paid Memberships Pro’s sale →


Dev4Press is a plugin shop that has a range of plugins, including bbPress tools, security, ratings, and more. Customers can grab 25% off using the BLACKCYBER coupon code at checkout. The discount can be applied to all plugins, add-ons, and club memberships. The sale runs from November 27 through December 3.

See Dev4Press’ sale →


SiteOrigin is slashing 50% off their premium product bundle on Black Friday, November 29, which includes over 20 add-ons for their theme and plugin products. Use the NOVEMBER30 coupon code at checkout for the discount. On Giving Tuesday, November 3, the team will provide email support to all users, which is typically only available on paid plans.

Visit SiteOrigin’s Premium page →


Stackable, a premium blocks collection plugin, kicked off its version 2 launch on November 25. The site is currently holding a flash sale that ends on November 27. Use the discount code LTD30 to grab 30% off. After the flash sale, they will continue with a 20% discount for all annual plans when using the LAUNCH20 discount code. This deal ends on December 9. The website is also offering limited-time lifetime purchases during the event.

Visit Stackable’s website →


Hookturn, a company that specializes in add-on plugins for Advanced Custom Fields, is currently offering 40% off their ACF Theme Code Pro, ACF Custom Database Tables, and Advanced Forms Pro plugins. The sale runs until December 3.

Visit Hookturn’s website →


SearchWP is an advanced search form plugin that offers a more robust search of content for WordPress. The company’s sale this year begins on Friday, November 29, and lasts until Tuesday, December 3. The site is offering a 30%-50% discount on new plugin licenses and 40% off upgrades for existing customers at checkout.

Visit SearchWP’s website →


OrganizeWP, a drag-and-drop plugin that allows users to manage their WordPress admin, will be on sale for 50% off support and update licenses. The runs November 29 through December 3. Discounts are automatically applied at checkout.

Visit OrganizeWP’s website →

Gravity PDF

Gravity PDF, a plugin for automatically creating PDF documents for Gravity Forms, is currently holding a sale for 40% off their access passes. The sale will end on Monday, December 2.

See Gravity PDF’s sale →

Meta Box

Meta Box, a custom fields plugin for developers, is offering 60% off their lifetime bundle, which brings the price from $499 down to $199. The sales event lasts from November 26 through December 6.

See Meta Box’s sale →


WisdmLabs, a shop with various WooCommerce and LearnDash add-ons, will begin offering 30% discount on all products and bundles available through their site on November 28 and last through December 2. Use the BFCM30 coupon code at checkout.

See WisdmLabs’ sale →


MailOptin is an email opt-in form plugin that allows website visitors to sign up for an email subscription. The site is offering a 25% discount for customers who use the BCFM2019 coupon code from November 29 through December 3.

Visit MailOptin’s website →

Social Rocket

Social Rocket, a social sharing plugin for WordPress that works with all the major social networks, is currently on sale for 33% off using the BFCM2019 coupon code. The discount is available through December 2.

Visit Social Rocket’s website →


Charitable is a fundraising plugin for WordPress that allows visitors to donate directly on users’ sites. The website is offering 30% off its pro and agency payment options from November 29 through December 3. Use the PRO30BF19 code at checkout for the discount.

Visit Charitable’s website →

Sandhills Development

Sandhills Development is offering 25% off with the BFCM2019 coupon code on all its products, which includes Easy Digital Downloads, AffiliateWP, Restrict Content Pro, Sugar Calendar, and WP Simple Pay. The sale runs from November 29 through December 6. They are also offering lifetime bundle deals and over $3,000 in prizes.

See Sandhills Development’s sale →

by Justin Tadlock at November 26, 2019 09:29 PM under News

November 25, 2019

WPTavern: WP Tavern’s New Design: No More Wood Grain

Screenshot of the new homepage design.

If you are viewing WP Tavern from your browser today, you might be a bit shocked. Things are different — much different. If you are reading this post via email or a feed reader, hop on over to the live site to take a look.

Welcome to the new design!

When I accepted the job to write for WP Tavern, some of you asked if I would be handling anything with the design and development aspects of the site. Today, you have your answer. I was tasked with overhauling our dated design and getting something fresh up.

From the moment I logged in and started peeking behind the curtain, the task seemed almost insurmountable. WP Tavern has had nearly 5,000 posts over 12 years. It has content mixed and matched with plugins that have not been used in years. Being perfectly honest, I was unsure what some plugins did for a long while. However, I have gotten to know the site and its inner-workings over the past couple of months, and the new design has taken shape around some of that.

Rather than taking the time to do a complete overhaul of everything, which is sorely needed, our team decided the best course of action was to get a new theme up and iterate.

The first step of the design process was to remove the wood-grain background. There is likely some nostalgia attached to that for some of our readers (some of you may have grown accustomed to it over the last 12 years), but it is the one thing we universally agreed to drop.

The second step was to move to a sidebar-less design. Our team at the Tavern decided that nearly everything in the previous design’s sidebar offered few benefits to our readers. It was a distraction that took away from the content.

The next step of the design process was to add complete compatibility with the block editor (Gutenberg). With no sidebar, this will open the door for us to do more interesting things with media and other elements over the long term.

Overall, the goal was to make the reading process nicer for all of you who visit the site. I hope that we have accomplished that.

The Future Design of the Site

This is version 1.0 of the new design. A large part of the process was laying the groundwork in a way that it would be easy to make changes going forward.

There are still some missing elements that will be re-added soon. Primarily, the site needs a search form in the header/navigation area. Redesigning the email subscription form and moving it to a different location is high on the list.

The site should load faster than before. However, there is still a lot of cleanup to do with plugins over the long haul. Page loads should be even snappier as we continue to iterate.

I also hope we can add a custom logo and other Tavern-esque elements that bring more personality to the site as we move along in this ongoing process.

However, this is the point where you, the WP Tavern audience, get to join the conversation. Before pushing too far with additional changes, it is important to get your feedback about what you want to see in the coming days, weeks, and months. Ultimately, the goal is to serve you WordPress news and information in the best way possible.

Feedback is certainly welcome. If there is a missing element you want to see return, post it in the comments. If there is something you would like to see added, don’t be shy about letting us know.

The contact form is also always open for private feedback or for letting us know about a problem with the site.

What Is Under the Hood?

To get the theme up and running, I reused a ton of code from my previous theme-related work before joining WP Tavern. It made sense to use a build system I already knew from top to bottom and not reinvent the wheel.

The CSS system is a customized and stripped-down version of Tailwind CSS. Tailwind is a utility-first CSS framework. For most of my professional career, I have shied away from utility-based frameworks. However, Tailwind is a well-designed framework with a smart naming scheme that strikes a balance between readability and practicality. It is one of the few that has clicked with me. WordPress also uses several utility classes, especially with the block editor. The two systems made sense together.

WordPress front-end output and some plugins (I’m looking at you, Jetpack) do not make it easy to take a full utility-class approach. Everything else was addressed on a case-by-case basis.

If any WordPress developers want to know more about the technical aspects, I am happy to answer questions.

by Justin Tadlock at November 25, 2019 08:32 PM under Tavern

November 22, 2019

bbPress: bbPress 2.6.2 is out!

bbPress 2.6.2 fixes 5 more small bugs that were reported by community members in our support forums:

  • Hierarchical replies in threaded discussion topics were broken for sites that were enabling the visual editor, so we unbroke it.
  • Sites with custom bbpress.css files were not having their custom styling applied in some cases. We fixed at least one case that we could find. Let us know if this is still not working correctly for you.
  • BuddyPress Notifications stopped working completely, but that wasn’t on purpose so we made them work completely again.
  • The “Edit” part of a URL pattern was not customizable inside of Forum Settings. Now it is!
  • One of the repair tools had a typo in it, so we untypo’ed it.

Thanks to everyone in the forums for being persistent and helping us identify all these annoyances.

We’re going to continue minor releases as bugs get reported and fixed. The team is committed to making sure your forums are running as smoothly as can be, so don’t be surprised if you see 2.6.3 soon too! 🐝

by John James Jacoby at November 22, 2019 06:24 PM under 2.6

November 21, 2019

WPTavern: Optimizing Code in a World That Doesn’t Want to Optimize

Premature optimization is the root of all evil.

It is a common saying among developers. It makes sense. Optimizing prematurely can mean redoing work down the line, and time is the developer’s most finite resource. It can mean spending that precious time optimizing for scenarios that do not yet exist for a product’s users. It can mean writing code that is harder to understand with unclear performance gains.

While participating with the WordPress theme review team about a year ago, I came across that nugget of advice once again. Premature optimization is the root of all evil. The reply was to a theme author who was looking to decrease the number and weight of scripts their theme needed to load. On one hand, the theme author could load a 1.29 kb script with no dependencies to get the job done. The other option was to use the jQuery-dependent script included in core WordPress for a total of 105 kb because “most” WordPress sites are loading jQuery anyway.

For me, the answer was simple. Use the smaller script unless the core script was already loaded on the front end. I did not think of it in terms of premature optimization. I thought of it as plain old, run-of-the-mill, everyday optimization.

Developers should not confuse premature optimization with the concept of making smart design decisions early in the process. Nor should they wait until the final stage of development to start optimizing, a time when the focus is on getting a product out to end-users. That is a sign of a poor product design process.

Over the past year, that conversation stuck with me. It helped me become more cognizant of a terrifying trend, not just in the WordPress developer community, but with web development in general. Far too often, developers are so far removed from normal users and the technology those users rely on that optimization is little more than an afterthought. Instead, it should always be at the forefront of any developer’s mind.

The overreliance on this misused quote has helped push the trend of measuring page weight in megabytes instead of kilobytes. It is too often used as a catchall justification for not doing any optimization in the development phase while making up for it with file compression and caching in production.

Part of writing quality code is optimizing that code during every stage of the development process. It is about making hard decisions to cut unnecessary things as the software comes together. Caching should be a last resort after everything else has been cleaned up.

Premature optimization is more about attempting to optimize when there are no clear gains or working on micro-optimizations that alter the software’s design for little-to-no benefit. It does not mean overlooking obvious performance boosts during development.

Not Everyone is on Gigabit Internet

Most developers I know are on super-fast internet connections, often with 1 Gbps download speeds and unlimited data. In that situation, it is easy to forget that large chunks of the world are still on slow connections with data caps.

Some may even associate slow connections with third-world countries where millions of people are on 2G cell phone technology. However, there are large swaths of the United States and other developed countries that have no direct cable or DSL lines, which are commonly available in cities and suburbs.

This disconnect is directly evident when other developers have initiated chats with me. In the past couple of years, it has been increasingly common for them to ask for a video chat. It is not even questioned whether such a thing is possible (video chats are unreliable at best for me). The ability to video chat at any time is taken for granted.

There are two internet service options in the area that I live in: satellite or dial-up. Even the local telephone company refuses to offer DSL in this area because of infrastructural costs with decades-old phone lines. Because of the prohibitive costs of satellite internet access, which typically comes with data limits, many are stuck with dial-up. Cell phone companies are changing the game to a degree, assuming service is reliable, but there are downfalls with going that route, which can include data or hotspot limitations.

For such a technologically-advanced country, many of its people are barely catching up to where others were a decade ago.

While I am fortunate enough to choose where I live and have nothing holding me back from moving, most do not have that option. They are stuck with the best they can afford. Even in rural areas, the internet is an inescapable part of daily life, and developers are not making it easy for these people.

While this is anecdotal, it is the stark reality of rural life in pockets of the US.

The upside of living in the backwoods of Alabama is that it has changed my perspective as a developer. It has meant that I needed to question every code decision for every plugin and theme I built. With data caps, I needed to make sure that I was not using too many resources.

More than anything, having a data cap changed how I used the internet. I now run an ad-blocker. I have an extension to kill videos from auto-loading. I disable JavaScript on heavy sites that I need to use. Some sites seem interesting, but I never return to them because they are resource hogs.

When you live in a place where every byte matters, you tend to avoid wasting them.

While not always successful, since my transition to small-town life, I have attempted to build applications in a way that served people who are not privileged enough to have blazing-fast internet access.

Pointing this out is about making sure developers are aware that optimization matters. It matters at every stage of the development process. It matters because these people with slow connections and data caps also need to buy products, use services, read content, and do all the other things that people do on the web.

If you are a developer who is thinking about adding that slider, swiping mechanism for mobile, or some other slick gadget, think about those of who must wait for that feature to load. Check that its dependencies are not loading too many extra resources. Do some research to see if you can locate a lighter-weight implementation. But, first, ask yourself if it is necessary.

The themes and plugins that WordPress developers build should never be the bottleneck for a website. We can do better.

by Justin Tadlock at November 21, 2019 09:31 PM under Opinion

HeroPress: Five Years Since The Dream Began

Exactly five years ago today I woke up to an email from Dave Rosen telling me my life was about to change. He didn’t know yet what we’d build, but he offered me the chance to build something.

From that seed we crafted HeroPress. It was a battle, filled with uncertainty, and at times tears, but I can say without hesitation that HeroPress has changed my life, and the life of my family, for the better.

Never, ever did I expect to become friends with so many people from so many places. HeroPress has changed the way I look at the world, and the people in it. It’s influenced my job opportunities. It’s opened doors for me to places that I didn’t know existed.

As always, I want to say thank you. Thank you to Dave for planting the seed. Thank you to all the contributors over the years, building something great. Thank you to people willing to retweet for me every week. Thank you to all the people who’ve trusted me with their stories.

Here’s hoping for another five years!

Dave Rosen and I doing the X-Team X.

The post Five Years Since The Dream Began appeared first on HeroPress.

November 21, 2019 03:21 PM under History

November 20, 2019

WPTavern: WP Agency Summit Kicks Off December 6

WP Agency Summit, a virtual event for WordPress agencies, will kick off December 6, 2019, and last through December 16. The event will feature daily sessions by over 30 WordPress professionals that are designed to help agencies grow their business. Each session will be free to view, but there will be a price tag attached after the event closes.

Jan Koch, owner WP Mastery, is running the event. WP Agency Summit is for profit, but Koch expressed a desire to give something back to the community that has helped him over the years. “I want this event to deliver value to the WP community, because I myself have received free support countless times from Facebook groups, forums, etc.,” he said. “That’s why the event is free to watch online while it’s running.”

The event is primarily aimed at WordPress agencies, but others may find value in it. “This event is also interesting for WordPress freelancers and digital agencies who occasionally use WordPress,” said Koch. “However, being a WordPress agency owner myself, I wanted to ensure that business owners like myself and those in similar situations get the most value from the event.”

Video sessions will be available to view for 48 hours at no cost. For those who sign up for a free pass, they can upgrade to lifetime access for $127. That lifetime access will go up to $197 during the event and $497 afterward.

Potential buyers may want to opt for the free option before deciding whether future access to the sessions and bonus materials are worth plunking down the cash. For an agency, the cost is minimal either way. However, for a solo freelancer, the $497 price is high enough to warrant caution. Most will want to check out the material first.

Each of the video sessions is prerecorded and edited rather than shot live. Koch is using Vimeo Pro to host the videos. There will be a live hangout to begin the event. Attendees and speakers will also get a Facebook group invite for asking questions and engaging with each other.

Cloudways, Siteground, and MainWP are sponsoring the event, which helps cover some of the up-front costs. Outside of that, Koch is handling the remainder of those costs out of his pocket but is hopeful for a positive return through the sale of lifetime access to the materials.

Koch first ran a virtual summit called “The WP Summit” in 2015, which was a more broad event based on various WordPress topics. That event had over 2,000 registrations. “As you can imagine, just talking about topics related to WP resulted in a very wide-spread speaker lineup, so there weren’t any clear takeaways,” said Koch.

The idea for WP Agency Summit has been in Koch’s mind since 2018. It wasn’t until some conversations with others at WordCamp Europe (WCEU) in 2019 that it started coming together. “After WCEU, I invested in a virtual training for summits and hired a mentor to properly set up the WP Agency Summit,” he said. “My goal is to run 4 events like this in 2020, so this summit is serving as ‘crash test dummy’ and foundation at the same time.”

The Speaker Lineup

There are over 30 speakers signed on for the event. Kim Doyal, a content marketer formerly known as “The WordPress Chick,” will teach agencies how to write copy that attracts higher-paying clients. Ahmad Awais, core WordPress contributor, will teach how to save time writing code in the VS Code editor.

Most sessions will focus on how agencies can grow their business with topics related to recurring revenue, marketing, and working with clients. Each day of the event will feature three or four sessions.

WP Agency Summit is hosting a diverse male lineup of over 20 speakers from Europe, Asia, Australia, Africa, and the US. However, there are only four sessions lead by women within the industry. “I recognize this as a problem with my event,” said Koch. “The reason I have so much more male than female speakers is quite simple, the current speaker line-up is purely based on connections I had when I started planning for the event. It was a relatively short amount of time for me, so I wasn’t able to build relationships with more female WP experts beforehand.”

Koch assures that he will have a more balanced ratio for upcoming summits in 2020 and beyond. “Even in this prelaunch phase, I already got in touch with many outstanding women in the WP community which would make perfect speakers for the next events,” he said.

by Justin Tadlock at November 20, 2019 07:50 PM under Events

HeroPress: Building A WordPress Business In Iran – ساختن یک زندگی وردپرسی در ایران

Pull quote: Over the years, WordPress transformed my personal and profesional life. In Persian: در طی این سالها، وردپرس زندگی شخصی و حرفه‌ای من را تغییر داد.

I purchased my first computer set when I was 19 years old, but several years before that, at the age of 15, I took a computer and MS-DOS training course and without having a computer, by merely practicing on paper, I managed to get the perfect score on the final exam.

It was during those years that internet gradually entered our town. Well, don’t be shocked. Internet was introduced to our small town pretty late and we got acquainted with this technological phenomenon very late. However, internet instantly found its place in my daily routine and I was fascinated by it.  After surfing the internet for a year, I was little by little encouraged to find out what a website is and how it works. Thus, I familiarized myself with the first programming language, that is, HTML and began learning it and given my enthusiasm, I mastered it in less than 10 days.

I was increasingly attracted to the internet and the issues pertinent to it, and soon enough I was drawn to various internet technologies. In less than a year, I was able to learn PHP, CSS, and HTML and relying on my limited knowledge, I began testing different systems and scripts.

Introduction to Blogging

During those same years, I worked with various blog systems, one of which was B2 system. A little while later, while conducting tests, doing installations, and having fun, I encountered a system which was quite similar to B2. I installed it. Then, I entered its various parts.  I found its management system, templates and codes quite appealing and easy to work with. Thus, I began translating it into Persian for my personal purposes, and in less than a week, I turned most of its various parts into Persian and they were ready to be used. Yet, due to certain reasons, I failed to install this system on my host or test it online. But I kept the system on my computer and I worked with it and enjoyed it. Yes, that system was one of the first versions of WordPress.

Prior to working with WordPress, I had worked with various systems and scripts, and I was primarily accustomed to Joomla. However, simplicity, convenience, and interesting environment of WordPress drew me towards this system and I kept working with it.

I was by nature shy and reticent; therefore, I was not that active in any groups or forums –this was the case in my personal life as well as on the web. Consequently, during the first few years of my activity in the field of WordPress, I hardly ever participated in WordPress forums or local groups.

Getting Involved

However, one of my friends who was active in the field of Persian WordPress, invited me to collaborate with one of the Persian WordPress support forums and this was a new beginning for me in the area of localization of WordPress.

My keen interest in working with WordPress as well as helping others work and become more familiar with it made me spend a lot of time daily in the Persian WordPress forum. Nevertheless, due to the shortcomings and needs of the Persian WordPress community, we also created another support website. Following the creation of this new website, many users were attracted to it and gradually we got a lot of feedback from the Persian WordPress community. So, we became further involved with the Persian WordPress community and the scope of our activities expanded.

It was during these years that I got my first formal job offer in the field of WordPress and I launched the first WordPress website for a client and received money in return for my services.  This experience highly motivated me and helped me envision my future as a WordPress developer. Meanwhile, with the help of some of my friends, I started a small web design and development company which was supposed to focus on coding and programming electronic components, but my keen enthusiasm for web development drew the entire team to focus on web design and development. Due to my numerous activities in the field of WordPress and my growing recognition as a WordPress activist, over the course of a few years, virtually all of our company activities centered on WordPress as the main basis of our work, and now we are one of the active supporters of WordPress in Iran.


Over the years, WordPress transformed my personal and professional life. My personal life was changed in the respect that from a shy, quiet and inactive guy, I turned into an energetic, active person interested in discussions and participation in social events. Along the way, I also met great and influential people, including my future spouse.

We organized various gatherings and meetups in the field of WordPress. We held WordPress seminars. We set up various public forums and groups to enhance the impact of WordPress and educate newcomers, and thus, many changes occurred in my overall mood and personality.

Besides, prior to the general change of direction in our company towards web and especially WordPress, our revenues were low and the company had a very slow growth; yet following our change of direction and basing the structure of the company on WordPress, our annual growth rate increased dramatically and there was a considerable increase in the size of the company, number of the personnel, and payments.

I should also mention that I am a graduate of textile engineering. However, my field of study has nothing to do with my career interests. Since from a very young age I dreamt of working in the field of computer science, even studying an irrelevant major did not stop me from pursuing my old dream and while studying textile engineering, I worked in the field of computer science and in my own company.

Now, 16 years after my first encounter with WordPress, it has pervaded every aspect of my life and has changed me personally, mentally, and professionally and has influenced my choice of career and business. And I am really glad that on that day I became familiar with WordPress and started working with it and am still involved with it up to this day, because not only my life changed as a result, but also I managed to educate so many people and help them transform their lives in a way that WordPress played a major role in their lives and contributed to their further success.

ساختن یک زندگی وردپرسی در ایران

من اولین کامپیوتر خود را وقتی ۱۹ ساله بودم خریدم ولی چندین سال قبل از آن  در سن 15 سالگی به کلاس آموزش کامپیوتر و دوره آموزشی کار با DOS رفتم  و بدون داشتن کامپیوتر و با تمرین روی کاغذ توانستم نمره کامل رو در آزمون نهایی کسب کنم.

در همان سالها بود که اینترنت کم کم وارد شهر ما شد، بله تعجب نکنید درشهرکوچک ما اینترنت خیلی دیر وارد شد و ما خیلی دیر با این پدیده آشنا شدیم اما اینترنت به سرعت جای خود را در کارهای روزمره من باز کرد و من شیفته آن شدم بعد از یک سال کار کردن با اینترنت من کم کم ترغیب شدم که بفهمم سایت چیست و چگونه کار میکند و با اولین زبان یعنی HTML آشنا شدم و شروع به یادگیری آن کردم و با اشتیاق فراوانی که داشتم آن را در کمتر از ۱۰ روز یاد گرفتم.

من هر روز بیشتر جذب اینترنت و موضوعات مرتبط با آن می شدم و به سرعت به سوی تکنولوژی های مختلف اینترنتی کشیده شدم. یک سال هم طول نکشید که توانستم HTML / CSS / PHP را یاد بگیرم و با همون دانش اندک، شروع به تست سیستم و اسکریپتهای مختلف کردم.

مقدمه‌ای برای شروع

در همان سال‌ها من با سیستم‌های وبلاگی مختلفی کار کردم که یکی از آن‌ها سیستم b2 بود. کمی بعدتر در همین تستها و نصب‌ها و بازیگوشی ها  با سیستمی مواجه شدم که بسیار شبیه b2 بود. آن را نصب کردم سپس وارد بخش‌های مختلف آن شدم، سیستم مدیریت، بخش قالب و کدهای آن و بسیار برایم ساده و جالب و جذاب به نظر رسید و به همین دلیل شروع به فارسی کردن آن برای کارهای شخصی خود کردم و کمتر از یک هفته بخش‌های مختلف آن را تا حدود زیادی فارسی و آماده استفاده کرده بودم. اما به دلایل خاصی موفق نشدم که آن را بر روی هاست خود نصب و به صورت آنلاین تست کنم. ولی آن سیستم را بر روی کامپیوتر خود نگه داشتم و با آن کار می کردم و لذت می بردم. بله آن سیستم یکی از اولین نسخه های وردپرس بود.

من قبل از کار با وردپرس با سیستم ها و اسکریپت های مختلفی کار کرده بودم و بیشترین اسکریپتی که با آن انس گرفته بودم جوملا بود اما سادگی و روانی و محیط جذاب مدیریت وردپرس باعث شد که من به سمت وردپرس کشیده شوم و کار با آن را ادامه دهم.

من ذاتا آدم کم حرف و خجالتی بودم و به همین دلیل خیلی در گروه ها و انجمن های خاصی فعالیت نمی‌کردم و این هم شامل وب و هم شامل زندگی عادی من میشد به همین دلیل تا چند سال اولیه فعالیت من در وردپرس، خیلی در انجمنهای تخصصی و یا گروه های محلی آن  فعالیتی نداشتم.

شروع مشارکت

تا اینکه یکی از دوستان من که از فعالان وردپرس در زبان فارسی بود من را دعوت به همکاری در یکی از انجمن های پشتیبانی وردپرس به زبان فارسی کرد و این شروعی دوباره برای من در زمینه محلی سازی وردپرس بود.

علاقه زیاد من به کار با وردپرس و همچنین کمک به دیگران برای کار و آشنایی بیشتر با وردپرس باعث شد که من روزانه زمان زیادی را در انجمن وردپرس فارسی صرف کنم. اما با توجه به کمبود ها و نیازهایی که جامعه فارسی داشت ما یک سایت پشتیبانی دیگر را نیز ایجاد کردیم با ایجاد سایت جدید کاربران زیادی جذب ما شدند و کم کم ما بازخوردهای زیادی را از جامعه فارسی گرفتیم به همین دلیل بیشتر درگیر جامعه فارسی وردپرس شدیم و دامنه فعالیت های ما نیز گسترش پیدا کرد.


در همین سال‌ها اولین پیشنهاد کاری رسمی من در زمینه وردپرس رسید و من اولین سایت خود را برای یک مشتری با وردپرس برپا کردم و در قبال آن مبلغی را دریافت کردم که این موضوع باعث شد انگیزه زیادی در من شکل بگیرد و مسیر حرکتی آینده خود را در وردپرس ببینم. همزمان، با کمک چند نفر از دوستان خود یک شرکت طراحی و برنامه نویسی کوچک را تاسیس کردیم که روند آن قرار بود بر کدنویسی و برنامه نویسی برای قطعات الکترونیکی باشد اما اشتیاق فراوان من به طراحی وب باعث شد که نظر کلیه جمع نیز به سمت کدنویسی و طراحی وب کشیده شود. با توجه به فعالیت‌های زیاد من در وردپرس و بیشتر شناخته شدن من به عنوان یک فعال وردپرسی، در طی یک بازه زمانی چند ساله، کلیه فعالیت های شرکت ما نیز به سمت وردپرس کشیده شد و مبنای اصلی کارهای ما وردپرس شد و هم اکنون ما یکی از حامیان فعال وردپرس در ایران هستیم.

طی سالیان مختلف وردپرس زندگی شخصی و کاری من را تغییر داد. زندگی شخصی من را از این جهت تغییر داد که از یک آدم خجالتی و کم حرف و کم فعالیت به یک آدم فعال، پر انرژی و علاقمند به بحث و گفتگو و حضور در اجتماعات تبدیل شوم. در این مسیر با افراد بزرگ و تاثیرگذار منجمله با همسر آینده خود نیز آشنا شدم.

اجتماعات و میتاپهای مختلفی را در زمینه وردپرس راه اندازی نمودیم. سمینار های وردپرسی برگزار کردیم. انجمن ها و گروه‌های مردمی مختلفی را در جهت افزایش نفوذ وردپرس و آموزش آن به افراد تازه کار راه اندازی کردیم و به همین دلیل تغییرات زیادی در روحیه و خلقیات و شخصیت کلی من ایجاد شد.

همچنین تا قبل از تغییر روند کلی شرکت ما به سمت وب و علی‌الخصوص وردپرس، شرکت درآمد خاصی نداشت و بسیار کند رشد می کرد اما پس از تغییر رویه و راه اندازی بستر اصلی شرکت بر روی وردپرس روند سالانه ما به شدت رشد کرد و هم از نظر اندازه و هم تعداد کارکنان و هم از نظر سطح دستمزد و حقوق پیشرفت چشمگیری در شرکت ایجاد شد.

این را هم اضافه کنم که من فارغ التحصیل در رشته مهندی نساجی هستم. اما رشته تحصیلی من با رشته و علاقمندی کا ی من کاملا از هم جدا و نامرتبط هستند. چون من از جوانی آرزو و شوق کار کردن در زمینه کامپیوتر را داشتم و حتی تحصیل در رشته ای نامرتبط هم سبب نشد که دست از آرزوی قدیمی خود بردارم  و حتی همزمان با تحصیل در رشته نساجی، در زمینه کامپیوتر و در شرکت خود مشغول به کار بودم.

حالا ۱۶ سال از اولین برخورد و کار من با وردپرس می‌گذرد و وردپرس تقریباً در همه زمینه های مختلف زندگی من نفوذ کرده و باعث تغییر من در زمینه شخصی، روحی و کاری و کسب و کار  من شده است و از این بابت بسیار خوشحال هستم که آن روز توانستم با وردپرس آشنا شده و شروع به کار کنم و تا به امروز نیز درگیر آن باشم.

زیرا علاوه بر اینکه زندگی من تغییر کرد، توانستم افراد زیادی را نیز آموزش داده و به آنها کمک کنم تا زندگی‌ آنها نیز تغییر کند و وردپرس شاکله زندگی آنها را تشکیل داده و باعث موفقیت بیشتر آنها شود.


The post Building A WordPress Business In Iran – ساختن یک زندگی وردپرسی در ایران appeared first on HeroPress.

by Morteza Geransayeh at November 20, 2019 04:30 AM

November 19, 2019

WPTavern: 10up Releases GitHub Actions for Simplifying WordPress Plugin Deployment

10up announced the public availability of two GitHub Actions geared toward WordPress plugin developers yesterday. The first Action allows developers to deploy plugin updates directly to the WordPress.org plugin directory by tagging a release on GitHub. The second Action handles readme file and asset updates.

On November 14, GitHub announced the public launch of their GitHub Actions feature. GitHub Actions are a way for developers to automate workflows from their Git repositories. Actions can also be shared with others, reused across projects, and forked like any other public repository.

Currently, there are over 1,300 GitHub Actions with more being added every day. At least nine of the current Actions are related to WordPress, including an Action to deploy WordPress by rtCamp, but there will certainly be more to come in the future.

With GitHub Actions out of beta, it opens the door for companies like 10up to share their custom workflows and for others to build upon them. It will also be interesting to see what Actions other developers within the WordPress ecosystem release.

The 10up team initially launched their custom Actions for WordPress in March 2019, which was during GitHub Actions beta period. “Everybody has been very positive,” said Helen Hou-Sandí, director of open source initiatives at 10up and WordPress lead developer. “We’ve had a number of people report bugs, request enhancements, and contribute code and documentation. That’s been a really great measure of adoption and attention for me — having people give thoughtful critical feedback and help us improve this tool for everybody.”

Hou-Sandí is interested in seeing other ideas for adding workflows or potentially new Actions from the community. “An example of something we’ve just started doing without writing a whole new Action is generating hook documentation and deploying that to GitHub Pages, which eliminates the need to generate locally, commit manually, and decide on where to host things,” she said.

“Development was actually smoother than I anticipated,” said Hou-Sandí of creating and testing the team’s GitHub Actions. “Maybe because I spent a fairly long time planning and obsessing over potential issues and chose to use Bash.” For testing, she was able to use an inactive plugin repo on WordPress.org. “I’m sure I could have come up with a method to test completely locally, but being able to use actual environments without repercussions was helpful.”

The 10up team has already been deploying plugin updates with the Actions. Hou-Sandí said that she does not think about this in terms of saving time, even though the team is already tagging releases via GitHub.

“What it’s really done for us is, along with well-documented release processes, made it so that anybody can jump in and get a plugin updated or released without worrying about modifying commit permissions or their personal knowledge of SVN,” she said. “This makes it much easier to get releases out especially when it’s an urgent bugfix.”

Deploying and Updating WordPress Plugins

Both of the GitHub Actions created by 10up help ease the pain of deploying plugin updates to the official WordPress plugin directory. They are designed to streamline plugin release management and simplify the process of getting code out to end-users.

WordPress plugin authors must use Subversion (SVN) to commit and tag plugin releases in the directory. Often, this is an issue because Git is the most-used version control system. Some developers have no experience with SVN, and the number of developers unfamiliar with it will likely only grow as Git continues to gain popularity. Even with those who do understand SVN, switching between version control systems can hinder workflows, particularly with larger teams.

With so many WordPress plugin developers using Git, it makes sense to use tools that are a part of their daily workflow rather than jumping into a system only used during releases. That is where both of these GitHub Actions developed by 10up can help.

Adding Actions to a repository is a fairly straightforward process. All repositories have a new “Actions” tab. Developers can create new workflows directly from the Actions page for their repository. When adding a new workflow, it is simply a matter of copying and pasting a particular Action’s code snippet.

Adding a custom GitHub workflow.

The WordPress Plugin Deploy Action is for deploying plugin updates directly to the WordPress plugin directory. When developers tag a release on GitHub, it will automatically commit the update to the WordPress.org SVN repository. The Action respects .distignore and .gitattributes for ignoring files that should not be distributed to users. It also allows developers to add their plugin assets to a .wordpress-org folder, which will be committed to the top-level assets directory.

WordPress.org Plugin Readme/Assets Update is a separate Action that allows developers to commit changes to their plugin’s readme or assets. It is useful when plugin authors need to update their plugin’s Tested up to version number or update screenshots, banners, and icons. This Action watches for changes on a specified branch.

Both Actions require developers to set up secret values for their WordPress SVN username and password. Secrets are encrypted data that can be set via a repository’s “Settings > Secrets” screen. The SVN username and password are required so that GitHub can deploy commits to WordPress.org.

by Justin Tadlock at November 19, 2019 11:00 PM under github

WordPress.org blog: WordPress 5.2.4 Update

Late-breaking news on the 5.2.4 short-cycle security release that landed October 14. When we released the news post, I inadvertently missed giving props to Simon Scannell of RIPS Technologies for finding and disclosing an issue where path traversal can lead to remote code execution.

Simon has done a great deal of work on the WordPress project, and failing to mention his contributions is a huge oversight on our end.

Thank you to all of the reporters for privately disclosing vulnerabilities, which gave us time to fix them before WordPress sites could be attacked.

by Jake Spurlock at November 19, 2019 04:47 AM under Security

November 18, 2019

WPTavern: Gutenberg 6.9 Introduces Image Titles, Block Patterns, and New Theme Features

On November 13, the Gutenberg team launched version 6.9 with several features, most of which were aimed at developers. Users can now add custom image title attributes. Plugin developers can start diving into the new Block Patterns API. Plus, theme authors can begin tinkering with the experimental gradient presets and block templates features.

Gutenberg 6.9 fixed numerous bugs, including an annoying invalid content error when selecting a color for the pullquote block. The update included several enhancements and changes to the underlying codebase.

Much of the work in version 6.9 went toward experimental features, including the navigation block. At this point, the nav block still needs a ton of work for practical use. The interface is still a bit clunky. Undoubtedly, this is one of the toughest user experience challenges to solve and will take time before it is ready for widespread usage. Right now, it is about continually iterating upon the work from previous versions.

Image Title Attribute Field

Editing the image title field in Gutenberg.

The ability to add image titles is perhaps the biggest user-facing feature added in Gutenberg 6.9. The original ticket for adding the feature has been simmering for over a year.

The Gutenberg team added the title field under the “Advanced” tab when editing an image block. This was a smart decision because image titles are often used incorrectly to describe an image, which is the job of the “Alt Text” field located under the “Image Settings” tab. Image titles are also generally unnecessary. When used, they should describe the role of the image on the page.

Initial Block Patterns API Merged

Choosing a column layout in the block editor.

The Block Patterns API is a developer feature primarily for creating initial setup states for complex blocks. For example, the columns block has several common patterns that users may want to choose. By providing those patterns when first inserting a block, the user does not have to go through the routine of configuring all of the settings for it.

The idea is to cut back on the complexities of configuring some blocks so that users can more quickly get to the point of adding their custom content and getting their desired results.

The first step toward the Block Patterns API was merged into Gutenberg 6.9, but it is still in the experimental stage at this point.

Block Gradient Presets

Adding a gradient background to a button in Gutenberg.

Gutenberg introduced gradient backgrounds in version 6.7 for the button block. The feature launched with a set of gradients that did not match users’ themes, which meant the feature was little more than a fun experiment.

In version 6.9, developers can register custom gradients that are less of an eyesore by using colors that fit into the theme’s color palette.

Currently, block gradient presets are marked as an experimental feature and use the __experimental-editor-gradient-presets theme support flag. Now is a good time for theme authors to begin exploring this feature so they can be ready when the experimental flag is removed.

Block Templates for Themes

For theme authors, block templates were the most exciting aspect of Gutenberg’s potential when it first launched. Throughout all of WordPress’ history, creating custom page templates, particularly front page templates, has been an exercise in frustration. Theme authors have always had great ideas about what their themes’ front pages should look like. In a way, it is an author’s signature on a theme project. It is often what sets one theme apart from another.

However, creating an interface that allows users to change what is traditionally a blog post list to something more ornate and complex is not an easy thing to do. Hundreds, perhaps thousands, of varying implementations are currently in the wild, each with their take on how to create a custom front page.

Enter Gutenberg. Theme authors, regardless of whether they love or hate it, usually see the potential of a block-based editor in terms of laying out a front page. The idea of having complete control over where specific blocks sit and how they appear on the front end is an alluring one, especially if there is a standardized experience for users to figure out how to plug their content into the blocks.

Gutenberg 6.9 laid the groundwork toward this reality by resolving block templates from a theme’s /block-templates folder.

At this point, theme block templates are still in the experimental stage as part of the full site editing feature. From a theme development perspective, this could be revolutionary.

by Justin Tadlock at November 18, 2019 07:03 PM under gutenberg

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.


Last updated:

December 14, 2019 09:30 PM
All times are UTC.