Wordpress Planet

Subscribe to Wordpress Planet feed
WordPress Planet - http://planet.wordpress.org/
Updated: 1 week 2 days ago

Gary: Talking with WP&UP

Thu, 09/26/2019 - 04:35

At WordCamp Europe this year, I had the opportunity to chat with the folks at WP&UP, who are doing wonderful work providing mental health support in the WordPress community.

Listen to the podcast, and check out the services that WP&UP provide!

BuddyPress: BuddyPress 5.0.0 Release Candidate 2

Thu, 09/26/2019 - 02:31


The second release candidate for BuddyPress 5.0.0 is now available for an ultimate round of testing!

Since the first release candidate, we’ve improved the way BP REST API Controllers are loaded inside BuddyPress component classes.

This is an important milestone as we progress toward the BuddyPress 5.0.0 final release date. “Release Candidate” means that we think the new version is ready for release, but with more than 200,000 active installs, hundreds of BuddyPress plugins and Thousands of WordPress themes, it’s possible something was missed. BuddPress 5.0.0 is scheduled to be released on Monday, September 30, but we need your help to get there—if you haven’t tried 5.0.0 yet, now is the time!

Download and test the 5.0.0-RC2

PS: as usual you alternatively get a copy via our Subversion repository.

A detailed changelog will be part of our official release note, but you can get a quick overview by reading the post about the 5.0.0 Beta1 release.

If you think you’ve found a bug, please let us know reporting it on the support forums and/or on our development tracker.

Thanks in advance for giving this second release candidate a test drive!

WPTavern: Hacktoberfest 2019 Registration is Now Open

Wed, 09/25/2019 - 22:39

Hacktoberfest has started back up again for its sixth year running, sponsored by DigitalOcean and DEV. The annual event brings together open source communities from all over the world for virtual and local collaboration. Organizers are expecting approximately 150,000 participants this year.

The first 50,000 participants who make four pull requests to any GitHub-hosted repositories between October 1-31, will receive a commemorative Hacktoberfest T-shirt. Organizers have introduced a one-week review period for PRs this year in order to give maintainers the opportunity to flag any spammy PRs as invalid. The goal is to encourage participants to submit more thoughtful contributions.

More than 21,000 issues on GitHub have already been labeled for Hacktoberfest. Maintainers who want to have their projects included should identify issues best suited to new contributors and apply the “Hacktoberfest” label. Organizers also recommend creating a CONTRIBUTING.md file with contribution guidelines and adopting a code of conduct for the project.

Adding WordPress to a search for Hacktoberfest issues displays 120 issues that are related in some way to themes, plugins, apps, and other products with WordPress-specific needs. The event is a good opportunity for maintainers to get more exposure for their projects and help new contributors gain confidence through a structured contribution process.

This year Hacktoberfest’s organizers are also featuring projects focused on combating climate change. These include repos for open source technologies, such as an embeddable map that shows climate change projections, an app targeting consumption habits, and greenhouse gas emissions data packaged for exploration and charting, to name a few.

Hacktoberfest is open to contributors at any level of experience. For those just getting started, DigitalOcean has created an Introduction to Open Source series that covers the basics of git and how to create a pull request. DEV also has a Git crash course available to get new contributors up to speed.

WPTavern: Human Made Releases Publication Checklist Plugin Designed for the Block Editor

Wed, 09/25/2019 - 17:44

Human Made has created a Publication Checklist plugin built specifically for the block editor. It was developed as a headline feature of Altis, the company’s enterprise publishing platform based on WordPress, but is also available as a standalone plugin that developers can customize for their own particular use cases.

Ryan McCue, Human Made’s Director of Engineering, shared screenshots of the plugin on Twitter but noted that it may require more manual configuration when used outside of Altis. Developers familiar with React can extend the checklist to provide a more interactive experience for users completing the required publishing tasks.

“Because this is built for the block editor, you can build the UI for your checks in React, allowing users to fix issues inline, or providing richer interaction; e.g. ‘jump to block failing this check,'” McCue said.

Status of the publishing tasks is also shown in its own column in the posts list table, a useful feature for giving editorial teams a better overall picture of posts in progress. (The plugin also provides a way to disable this view.)

It’s important to note that the Publication Checklist plugin only provides a framework for the pre-publish checks, and does not include a settings interface for users to create their own checks. For this reason, the current version is more geared towards developers who are capable of registering checks using the provided function. The checks display a warning if incomplete but users are still allowed to publish. A more strict enforcement that blocks publishing can also be applied. For more information on customizing the plugin, check out the documentation on GitHub.

WPTavern: Theme Review Team Restructures Into Project Representatives

Wed, 09/25/2019 - 17:18

The WordPress Theme Review Team (TRT) restructured its administrative duties and laid out its new team organization after yesterday’s semimonthly team meeting. This is not the first time the TRT has restructured to meet the growing demands of the official theme directory over the years. The team is moving toward a flat structure that spreads its responsibilities to various project representatives.

The original team consisted of a purely merit-based system where members worked their way up the ranks, becoming moderators and eventually admins. Each level provided more access and responsibility. In 2017, the team restructured to a lead-based system in which two team leads rotated every six months. The time limit was put in place to prevent burnout. Some leads ran the team beyond the six-month limit during this time, but it was not always easy to find replacements who wanted to take on the full responsibilities of managing everything. There was also concern among some team members that the rotation schedule wasn’t strictly followed with some leads overstaying their allotted time.

In meetings and discussions over the last several months, various members drafted proposals on changing the team structure. The now-former team leads and a group of moderators created the new plan to split the team into specific projects, each with at least one representative.

The following are the new sub-teams and representatives.

  • Theme review representatives: Sandilya Kafle and Carolina Nymark
  • Theme packages representative: Ari Stathopoulos
  • Automation representative: Denis Žoljom
  • Theme handbook representative: Ana Alfieri
  • Communications representative: William Patton

The five projects cover the team’s current duties and spread out the workload. “That’s kind of what this is about,” said William Patton. “It’s making sure that no one single person handles all the things and that it’s shared between all.”

The new structure doesn’t mean there’s no room for other projects. If a team member has a particular itch they want to scratch, they’re open to spearhead that project. All the power is no longer consolidated into a couple of people’s hands.

“Sharing the load and spreading people’s specific skills between things they know and are investing time into makes sense at this point,” said Patton.

The team will no longer rotate leads (or representatives in this case) every six months. If someone needs to step down from their representative role or take a break, finding a new representative will be handled on a case-by-case basis. “We all have our strengths and passions. The thing that we also need to work on is finding people who are willing to participate and eventually take over when we feel tired,” said Denis Žoljom.

Žoljom has been leading the automation project for while by maintaining the Theme Review coding standards and Theme Sniffer plugin. He’s currently looking to move the WPThemeReview ruleset to the official WordPress GitHub. “This is necessary because we want to use it in Tide,” said Žoljom. Tide is an automated tool for improving code quality in plugins and themes.

“My personal goal would be to see if we can improve the review process – either by working on the GitHub review idea I had a few months ago, or by working on the automated tools that help the users,” said Žoljom.

The theme review representatives will handle the traditional role of overseeing the reviewing responsibilities of the team. Little will change in that regard since it’s the primary duty of the TRT. They will continue moderating themes and handling guideline changes. “However, they can consult with other reps to make the final decision and to make new changes,” said Sandilya Kafle.

The WordPress docs team has now handed over responsibility of the theme developer handbook to the TRT. “I think we should try to keep coherence between the two handbooks, so we avoid saying one thing in one and another in the other,” said Ana Alfieri about the differences between the developer and review handbooks. At times, such difference have been points of contention between TRT members. Having both handbooks in sync on best practices will help keep reviewers and theme authors on the same page.

Ari Stathopoulos recently took over as the representative for theme packages in the past month. The packages project aims to build standardized drop-in modules for developers to use in their themes. This specific project may also have various developers handling specific packages.

WPTavern: WordPress 5.3 to Introduce New Admin Email Verification Screen

Tue, 09/24/2019 - 18:30

WordPress 5.3 is set to introduce an admin email verification screen that will be shown every six months after an admin has logged in. The feature was proposed seven months ago in a ticket that contributor Andrei Draganescu opened as part of the Site Health component improvements.

Draganescu said the idea came from discussions in the #core-php channel regarding WSOD (White Screen of Death) recovery emails, which are sent when a site experiences a fatal error and the administrator may be locked out of their WordPress site. Participants in the discussion raised the issue of how common it is for admin email addresses to be outdated or set to a “catch all” address that is never checked. The email address may also be set automatically by the host during the process of a one-click installation.

The “Why is this important?” link leads to a WordPress support article that describes the various uses for the admin email address, such as new user registration notifications, comment approval, and maintenance messages.

Although it wasn’t the stated intention for the new admin email verification screen, the feature could become important for improving communication prior to automatic updates. Requiring admins to verify their email addresses after six months could ensure that more addresses are kept current, especially for admins who check their sites infrequently.

When the WordPress security team proposed auto-updating older versions of WordPress to 4.7, one of the chief concerns is whether WordPress will be able to reach admins whose emails have been abandoned. This new admin email verification screen will not be be useful for older WordPress sites, but in the future, when auto-updating for major versions becomes the standard, it will help ensure more administrators are getting those notices to a working address.

A new admin_email_check_interval filter is available for developers to customize the interval for redirecting the user to the admin email confirmation screen. Those who find it to be unnecessary or annoying can set a very large interval for the check.

WPTavern: Twenty Twenty Bundled in Core, Beta Features Overview

Tue, 09/24/2019 - 17:29

Twenty Twenty, the upcoming default WordPress theme, was committed to core and shipped with WordPress 5.3 Beta 1 yesterday.

Like most core themes, Twenty Twenty is simple in function. It comes packaged with a handful of custom features and options, but it remains true to the mission of being an easy-to-use default theme.

The theme has personality. Its headings are bold and opinionated. Its pull quotes grab your attention. It’s unafraid of making a splash with its design. This is a blog theme that’s meant to showcase what the block editor is capable of doing. It is a refreshing change of pace from the current slew of themes landing in the directory.

Twenty Twenty is not ideal for every use case. Some users will no doubt dislike the design choices. Others will love everything about it.

Note: Twenty Twenty is still in beta, so its features could change between now and the official release of WordPress 5.3.

Customizer Options Hue-only picker for the accent color in the customizer.

The theme has a few custom options available within the customizer:

  • A retina logo option, which scales the logo image to half its size to make it sharper on hi-res screens.
  • An option for showing or hiding a search icon in the header.
  • A choice between showing the full post text or summary (excerpt) on archive pages.
  • A header and footer background color.
  • An accent color used for links and other elements.
  • Support for the core custom background feature.

The accent color option is an interesting choice. Rather than providing the full breadth of all colors, the theme includes a hue-only color picker. This feature allows users to select from a more limited set of colors within an accessible color range.

There is also a ticket for removing core custom background image support to help users avoid accessibility issues.

Custom Page Templates Cover template options in the customizer.

Twenty Twenty has a fresh take on creating a cover page not seen in previous default themes. The “Cover Template” works for both posts and pages. When selecting it, the template displays the post featured image similar to the cover block in core. The featured image spans the full width of the screen and extends behind the header and navigation area. The post title and byline/meta are set over the image.

The theme provides a few options for customizing the output of the cover area and allows the user to:

  • Set a fixed background for a parallax effect.
  • Add an overlay background color that sits over the featured image.
  • Change the color of the text on top of the image.
  • Choose a blend mode for the overlay background color.
  • Alter the overlay background color opacity.

Having a core theme explore this feature is a nice. Ideally, users would be able to create a featured cover area on a per-post basis and adjust the colors for the specific image on that post. However, core has yet to bundle such a feature with the block editor. There is an open Gutenberg ticket for expanding the editor outside of the post content that may help theme authors address this common feature, but we’re likely several releases from seeing that become a reality.

The theme also includes a wide (full width) template, which is a fairly common feature. At the moment, this template doesn’t seem to do anything in particular when assigned to a page. There’s an open GitHub ticket that addresses what it should do at some point. Considering that the theme has no left/right sidebar, it’d be interesting to see how this template functions.

Page Loading Speed

Page load is something to keep an eye on. Twenty Twenty currently ships a 100 kb stylesheet on top of the block editor’s 40 kb CSS file (from the Gutenberg plugin). This number doesn’t include the font and JavaScript files also loaded for the page. This is a far cry from the behemoth 223 kb stylesheet included in Twenty Nineteen, but it’s still concerning because more development time means that more code will likely get added as tweaks are made and bugs are fixed.

To be fair, the block editor has many elements to style with no unified design framework for theme authors to take advantage of. Keeping a Gutenberg-ready stylesheet under 100 kb that also styles each block is a feat of engineering few can master.

Follow Twenty Twenty Development

Theme development is currently happening on the Twenty Twenty GitHub repository. If you want to track its changes as the theme is imported into core, the changes are happening on the Import Twenty Twenty Trac ticket.

The theme still has work to be done before it’s ready for public release. Now would be a great time to start testing it and reporting issues.

BuddyPress: An online community learning hub to deepen studies during IRL meetings

Tue, 09/24/2019 - 09:07
This is a guest post by Tanner Moushey, Founder and Lead Engineer of StudyChurch. He is a BP REST API early adopter and we thought his achievments implementing Headless BuddyPress was a great source of inspirations for the BuddyPress community. Many thanks to him for taking the time to share with us about this case study.

Peer reviewed by @imath

StudyChurch is an ambitious startup seeking to make a mark in the church product marketplace. With a unique approach to online interaction, StudyChurch combines elements of engagement and learning in a way that is both simple and intuitive for the end user.


I began working on StudyChurch as a side project in 2015. It started as a proof of concept and an excuse to dive deeply into BuddyPress. I wanted to leverage the group and activity components that BuddyPress provides and combine that with a custom study module that I created with a custom post type, BackboneJS, and the WordPress REST API. Answers to study questions were stored in WordPress Comments and synced to a custom BuddyPress activity type which was then used to create the discussion interface. Each question had an activity component under it to show off the other group answers and corresponding discussions.

I finished the first draft of the project after several months and before too long I had groups signing up to use the system. I continued to make minor modifications over the next few years but kept running into complaints about speed and the user interface.

When I was approached in 2018 by a publisher that wanted to use StudyChurch on a larger scale it sounded like a great opportunity to rebuild.

Implementing Headless BuddyPress

One of the big changes that I wanted to make in the rebuild was to switch to a JavaScript front end. I wanted something that was going to allow us to make numerous asynchronous data requests without using Ajax, which can be slow and difficult to maintain over a large project. I decided on VueJS and started building out the API to handle the data that was previously controlled by the BuddyPress templates.

Building a custom API with the BuddyPress REST API

I’d done quite a bit of work extending the WordPress REST API on previous projects and was excited to discover the BuddyPress REST API that extended it. This took care of a lot of the structure and allowed me to focus my time on building out our custom modules and functionality. Anytime I ran into something that needed to be more flexible, I’d submit a patch to the BuddyPress REST API repository and would get a prompt resolution.

Now that we are able to post and retrieve data through the API, the user interactive elements on the site are noticeably faster and the overall load on the server is much less. Not only that, but we are ready for a native app once we get to that point.

Creating a VueJS front end

Building a completely JavaScript front end for BuddyPress was fun challenge. I underestimated how many different components I’d need to build out since I wasn’t able to rely on the BuddyPress default templates, but the end result was well worth the effort.With VueJS we were able to leverage a lot of prebuilt UI packages (like Element) to do a lot of the heavy lifting for us. Since we were no longer tied to the BuddyPress template engine, we were able to get creative with how we displayed information and handled user interactions. The end result was a clean, fast, and user friendly interface that was simple and straightforward to use.

I made a few modifications to allow WordPress and BuddyPress recognize our front end app and use it for BuddyPress components. I solved this with a pretty simple hook into the template include filter and included our template instead of the default. A few custom rewrite rules handled any non-BuddyPress url structures I needed to support and I soon had a fully functional and detached front end.


StudyChurch is now a powerful, robust social network ready for scale. We are still working on improving the system and adding new features which are now easier and faster to implement with the new structure.

We’ve received some great feedback from users who find the app fast and intuitive. We are hoping to build out a native app in the near future.

I’m so thankful for the work done by all of the volunteers who’ve put so much time into WordPress, BuddyPress, and now the BuddyPress REST API. I think there are going to be many more projects like StudyChurch in the near future that will leverage these great tools to build amazing and helpful solutions.

Feel free to reach out if you have any questions or comments on what we’ve done with StudyChurch. Also, you are welcome to browse our code base on GitHub.

You can read more about StudyChurch and other projects we work on at iwitnessdesign.com.

WPTavern: WordPress 5.3 Beta 1 Ready for Testing, Includes 12 Gutenberg Releases and New Twenty Twenty Default Theme

Tue, 09/24/2019 - 02:56

WordPress core contributors worked together today to package up 5.3 Beta 1 for release on schedule. The Core slack channel was abuzz this afternoon as developers pushed through last-minute commits and fixed issues ahead of shipping the beta.

Iterations on the block editor are a major part of of this release. WordPress 5.3 will include the last 12 Gutenberg plugin releases. If you have already been using the plugin, you may have forgotten how many features it has that still haven’t made it into core WordPress. This includes significant improvements to group, column, and gallery blocks, Accessibility Navigation mode, the new inserter help panel, “snackbar” notices, and the typewriter experience, to highlight a few big items that have been rolled into 5.3.

The highly anticipated Twenty Twenty default theme is also available in the beta, which which we will explore in greater detail on WP Tavern this week. Its design is based on the Chaplin theme from Anders Norén and showcases what is possible with the block editor.

Some of the UI changes introduced in Gutenberg are starting to make their way into other parts of the WordPress admin.

“These improved styles fix many accessibility issues, improve color contrasts on form fields and buttons, add consistency between editor and admin interfaces, modernize the WordPress color scheme, add better zoom management, and more,” release coordinator Francesca Marano said in the 5.3 beta 1 announcement.

A few other notable additions to 5.3 that need testing include the following:

  • Support for resuming uploads on large file sizes
  • Automatic image rotation during upload
  • Improvements to Site Health checks
  • Time/Date component fixes
  • PHP 7.4 Compatibility and removal of deprecated functionality

If you’re ready to take the beta for a test drive, the easiest way is to install the WordPress Beta Tester plugin and select the “bleeding edge nightlies” option. The official release is targeted for November 12, 2019.

WordPress.org blog: WordPress 5.3 Beta 1

Mon, 09/23/2019 - 18:36

WordPress 5.3 Beta 1 is now available!

This software is still in development, so we don’t recommend running it on a production site. Consider setting up a test site to play with the new version.

You can test the WordPress 5.3 beta in two ways:

WordPress 5.3 is slated for release on November 12, 2019, and we need your help to get there. Here are some of the big items to test, so we can find and resolve as many bugs as possible in the coming weeks.

Block Editor: features and improvements

Twelve releases of the Gutenberg plugin are going to be merged into 5.3 which means there’s a long list of exciting new features. 

Here are just a few of them:

  • Group block and grouping interactions
  • Columns block improvements (width support + patterns)
  • Table block improvements (text alignment support, header/footer support, colors)
  • Gallery block improvements (reordering inline, caption support)
  • Separator block improvements (color support)
  • Latest Posts block improvements (support excerpt, content)
  • List block improvements (indent/outdent shortcuts, start value and reverse order support)
  • Button block improvements (support target, border radius)
  • Animations and micro interactions (moving blocks, dropdowns, and a number of small animations to improve the UX)
  • Accessibility Navigation Mode which will allow you to navigate with the keyboard between blocks without going into their content.
  • Block Style Variations API

Plus a number of other improvements, amongst them:

  • Data Module API improvements (useSelect/useEffect)
  • Inserter Help Panel
  • Extensibility: DocumentSettingsPanel
  • Snackbar notices
  • Typewriter Experience
  • Fix a number of Accessibility report issues

If you want to see all the features for each release, here are direct links to the release posts: 6.5, 6.4, 6.3, 6.2, 6.1, 6.0, 5.9, 5.8, 5.7, 5.6, 5.5, and 5.4.

Continuous effort on performance

The team working on the block editor managed to shave off 1.5 seconds of loading time for a particularly sizeable post (~ 36,000 words, ~ 1,000 blocks) since WordPress 5.2.

A new default theme: welcome Twenty Twenty

WordPress 5.3 introduces Twenty Twenty, the latest default theme in our project history. 

This elegant new theme is based on the WordPress theme Chaplin which was released on the WordPress.org theme directory earlier this summer. 

It includes full support for the block editor, empowering users to find the right design for their message.

Wait! There is more

5.3 is going to be a rich release with the inclusion of numerous enhancements to interactions and the interface.

Admin interface enhancements

Design and Accessibility teams worked together to port some parts of Gutenberg styles into the whole wp-admin interface. Both teams are going to iterate on these changes during the 5.3 beta cycle. These improved styles fix many accessibility issues, improve color contrasts on form fields and buttons, add consistency between editor and admin interfaces, modernize the WordPress color scheme, add better zoom management, and more.

Big Images are coming to WordPress

Uploading non-optimized, high-resolution pictures from your smartphone isn’t a problem anymore. WordPress now supports resuming uploads when they fail as well as larger default image sizes. That way pictures you add from the block editor look their best no matter how people get to your site.

Automatic image rotation during upload

Your images will be correctly rotated upon upload according to the EXIF orientation. This feature was first proposed nine years ago. Never give up on your dreams to see your fixes land in WordPress!

Site Health Checks

The improvements introduced in 5.3 make it easier to identify and understand areas that may need troubleshooting on your site from the Tools -> Health Check screen.

Admin Email Verification

You’ll now be periodically asked to check that your admin email address is up to date when you log in as an administrator. This reduces the chance that you’ll get locked out of your site if you change your email address.

For Developers Time/Date component fixes

Developers can now work with dates and timezones in a more reliable way. Date and time functionality has received a number of new API functions for unified timezone retrieval and PHP interoperability, as well as many bug fixes.

PHP 7.4 Compatibility

The WordPress core team is actively preparing to support PHP 7.4 when it is released later this year. WordPress 5.3 contains multiple changes to remove deprecated functionality and ensure compatibility. Please test this beta release with PHP 7.4 to ensure all functionality continues to work as expected and does not raise any new warnings.

Other Changes for Developers

Keep your eyes on the Make WordPress Core blog for more 5.3 related developer notes in the coming weeks detailing other changes that you should be aware of.

What’s next

There have been over 400 tickets fixed in WordPress 5.3 so far with numerous bug fixes and improvements to help smooth your WordPress experience.

How to Help

Do you speak a language other than English? Help us translate WordPress into more than 100 languages!

If you think you’ve found a bug, you can post to the Alpha/Beta area in the support forums. We’d love to hear from you! If you’re comfortable writing a reproducible bug report, file one on WordPress Trac where you can also find a list of known bugs.

WPTavern: WPHelpful: A User Feedback Plugin

Mon, 09/23/2019 - 18:01

WPHelpful is a plugin created by Zack Gilbert and Paul Jarvis that allows users to rate the helpfulness of a post. It can be a useful addition to sites that offer tutorials, lessons, documentation, or any content where user feedback is warranted. Version 1.0 is available for free in the official WordPress plugin directory, but it also has a pro version that offers additional features.

I enjoyed giving this plugin a test drive. As a former business owner, I could see where this plugin would’ve helped me gather feedback from my customers on product documentation and better catered to their needs.

WPHelpful has huge potential, but its version 1.0 is still a 1.0. It’s far from being a polished product at this stage. It needs time to mature as a good free plugin. The current batch of pro features should have made the cut for the free version.

The free plugin available in the plugin directory won’t get you far unless you just need a basic rating system. It is limited to:

  • Showing the feedback form on posts and pages.
  • Changing the colors for the form button.
  • Adding custom CSS (a feature already available on all WP sites via the customizer).

All other features and settings are available in the pro version. Unless your goal is to simply allow user ratings on posts or pages, you can’t do much with a free copy. There are existing plugins with a more mature codebase for handling basic ratings.

One of the most notable aspects of the free version is that it allows you to test the pro settings in a development environment. This provides an opportunity to decide if you want to shell out the money to go pro. I am now officially recommending that every other plugin developer do this when possible.

What the Plugin Gets Right

The plugin is simple to use. You can choose to automatically append the form to posts on the front end or opt to display the form with the [wphelpful] shortcode.

If nothing else, users shouldn’t have any problems getting the plugin up and running. I tested it against a variety of themes with solid results.

A custom [Gutenberg] block would’ve kicked user-friendliness up a notch. Plugin authors need to start thinking in terms of building a block first and a shortcode second. I’m hoping this makes the feature list for version 2.0.

Post Types: Paywall for the Most Useful Feature

The most important feature for this plugin is the ability to select which post types the feedback form can be used on. Unfortunately, this feature is behind a paywall, limiting user feedback to only posts and pages. This is a foundational feature that would be nicer in the free version.

The post type feature is also limited in the pro setting. In 1.0, you cannot pick post types individually. The drop-down field limits you to a single post type, all post types, or pages plus all custom types. There’s no way to select two different custom post types.

The plugin doesn’t use the proper post type label, so you may get some weird labels like “Wp Area Types” (from the Gutenberg plugin) or “Jt Documentation Types” (a custom post type on my test install).

Non-public post types also show up in the list. So, post types that don’t have front-end output show up in the select form.

These issues are easy fixes, and I’m hoping this review sheds light onto these problems so they might be corrected for users.

How the Plugin Could Offer Better Pro Features Screenshot of the current post feedback report.

Plugin authors need to eat. There’s always a delicate balance that developers must strike between offering a useful free plugin and making enough of a return on their investment to continue maintaining the code.

Currently, most of the plugin’s pro features are basic items like custom colors and form labels. These are things that would better serve users in the free version.

A more useful pro feature would be a “Reports” screen in the admin that offered options such as:

  • Sorting posts by rating and total ratings.
  • Displaying a graph of user feedback by month, year, etc.
  • Other reports that provided an overall look at feedback.

The plugin also only allows logged-in users to provide feedback. That’s certainly an easier way to go to avoid spammers and bots. Due to the added complexity, a pro extension for enabling any site visitor to provide feedback would be worth exploring.

How Does the Code Stack Up?

I’m going to get a bit technical here. Feel free to skip ahead if programming is not your thing.

What the plugin needs is time to mature. Version 1.0 is not supposed to be the best a plugin can be. It’s about shipping a minimum viable product, so I’m a bit forgiving. If this were 2.0 or 3.0, I’d be unrelenting.

There’s a lot to like about the architectural decisions. Much of it is set up in a way that it should be relatively easy to maintain in the long term. This is important because it means that correcting issues, such as those listed below, shouldn’t be tough to fix.

There are code issues that need patches. The plugin currently:

  • Uses a PHP variable for textdomains (not all translation tools run in a PHP environment).
  • Hasn’t internationalized all of its user-facing text, so not everything can be translated.
  • Registers multiple options in the database instead of storing all options together, which creates unnecessary clutter.
  • Doesn’t clean up after itself and delete its options upon uninstall.

These are not insurmountable issues, and they don’t break anything to the point of making the plugin unusable. They’re just issues that need to be addressed.

The Final Verdict

Version 1.0 of WPHelpful lacks the feature set to be a particularly great free plugin. It could be useful in some limited cases. However, you’ll probably want to opt for the pro version to get the features that would make this plugin worth using.

WPHelpful has potential. I could see it growing an audience of 100K, 500K, or more users over time with more polishing. It’s not there yet. The plugin doesn’t have enough meat on its bones for me to recommend it yet, but I’m hopeful that future versions will offer a more robust experience.

If you’re looking for an easy-to-use free plugin that works with just posts and pages, it could serve your needs.

WPTavern: GitHub Adds Dependency Graphs, Security Alerts for PHP Repos

Fri, 09/20/2019 - 17:45

PHP developers everywhere can rejoice as GitHub adds the long-awaited dependency graphs feature for PHP repositories that use Composer. The feature provides security alerts, shows dependency insights, and displays the dependents of a given repository. If enabled, it can also automatically send security fixes to the repository via pull requests.

GitHub initially added support for JavaScript and Ruby when rolling out dependency graphs in 2017. They added support for Yarn lock files in July of this year. This has been a boon to the JavaScript community as it alerts developers of vulnerabilities in code they’re using and shipping to users.

“We’re also seeing PHP and Composer grow in popularity–PHP is the fourth most popular language on GitHub and Composer is the fourth most starred PHP project,” wrote Justin Hutchings, Senior Product Manager at GitHub. The company has taken notice of the trends. JavaScript is a hot topic in many developer circles today, but PHP frameworks such as Laravel and Symfony continue growing in popularity and dominate among popular PHP repositories.

Composer is the de facto standard for PHP dependency management. Core WordPress first added Composer support for development environments in version 5.1. While it’s not a part of the release package, this was some small victory after a years-long discussion of adding a basic composer.json file to core. Core hasn’t fully embraced Composer or any type of PHP dependency management, but plugin and theme authors are using it more than a few short years ago. The new alerts and automatic pull requests will offer one more avenue for catching security issues with plugins and themes.

GitHub seems to be rolling this feature out in waves. After checking some repositories with dependency graphs enabled, some still do not have their PHP dependencies listed. It may take some time, but developers should start seeing dependencies appear that are listed in their composer.json or composer.lock files.

Public repositories should begin seeing automatic security alerts when an issue is found. GitHub will start notifying repository owners of these alerts via web notifications or email, depending on what the account holder has set as their preference. Developers with private repos or who have disabled dependency graphs will need to enable them to take advantage of the new feature.

Security alerts on old repositories could become an annoyance. GitHub recommends archiving those repos. “Archived repositories send a signal to the rest of the community that they aren’t maintained and don’t receive security alerts,” explained Hutchings.

Developers who have opted into GitHub’s automatic security fixes beta feature can now enjoy automatic pull requests (PRs) from GitHub when vulnerabilities are found. GitHub creates a PR with the minimum possible secure version. The developer can then merge the PR at their discretion.

Dependency graphs also make for a much nicer experience when browsing a repository’s dependencies. Previously, developers would need to dive into a project’s composer.json or view them from Packagist, the official package directory for Composer. Developers can now click on a link to view a dependent repository.

Rolling this feature out for PHP repos is a welcome addition and should help more projects keep their code secure.

Post Status: Salesforce Ventures invests $300 million in Automattic, at a $3 billion valuation

Thu, 09/19/2019 - 23:05

Salesforce Ventures is the investment arm of Salesforce. Prior to this investment in Automattic, Salesforce Ventures had announced $875 million raised across 11 fund initiatives — but none that amounts to $300 million. Previosuly, each fund has been between $50 to $125 million spread across several investments.

I believe Salesforce Ventures called up funds specifically for this strategic investment in Automattic, which would likely put their total dollars invested (or committed to existing funds) well beyond $1 billion, and the $300 million into Automattic would be their largest investment to date, to my knowledge.

Salesforce Ventures states on their website that they are exclusively seeking investments in “enterprise cloud” companies. In Automattic Founder and CEO Matt Mullenweg’s announcement about the funding, he specifically noted how Salesforce CEO Marc Benioff, “helped open my eyes to the incredible traction WordPress and WP VIP has seen in the enterprise market, and how much potential there still is there.” I am curious to see how Automattic changes their approach to VIP in particular, in light of this.

$300 million is a lot of money. Salesforce is joining Insight Venture Partners, Tiger Global, and True Ventures as primary outside investors in Automattic.

Given that Salesforce was the lead and only investor here, they now own a significant stake in Automattic — and it will be interesting to see what kind of confluence that enables between the two companies. Automattic CEO Matt Mullenweg tells me, “Automattic has been a long-time customer of Salesforce’s products, and we think there are lots of opportunities for closer integration.”

Since Automattic recently acquired Tumblr and brought on a few hundred new employees from it, it’s natural to think the new fundraising is related. I asked Matt about that, and he said it was unrelated in terms of financial justification, but they did, “disclose the Tumblr transaction to Salesforce during [their] discussions.”

Automattic hasn’t raised money since 2014, and it seems like this round is similar to prior ones, wherein the money helps spur their growth plans along but that they are operationally profitable — or close to it. Matt told Techcrunch, “The roadmap is the same. I just think we might be able to do it in five years instead of ten.”

Matt called the investment proof of Salesforce’s own “tremendous vote of confidence for Automattic and for the open web.” Salesforce does have some history of supporting open source projects, although that shouldn’t be equated to an investment in Automattic as a company; it is a vote of confidence for companies that rely on open-source platforms as a part of their line of business.

Automattic is the single most significant contributor to WordPress and related open-source projects. It also relies on open-source software for its product development — particularly Jetpack and WooCommerce — and features like Gutenberg as the core experience for writing and site-building. How that blend of open source software and business development plays out, in the long run, is certainly of high interest to the open-source community.

I have long discussed on various platforms how I think there are a handful of companies that are big enough to acquire Automattic someday. I still think Automattic is more likely to go public at some point, but if they are acquired, Salesforce is definitely one of those few with the resources to make it happen, and perhaps the operational congruence as well.

Reaching a $3 billion valuation is an amazing feat that Automattic has achieved. Matt has said before that he believes each of their primary lines of business — WordPress.com, WooCommerce, and Jetpack — can be multi-billion dollar opportunities. I agree with him, particularly for WooCommerce. I think there’s a good chance WooCommerce will end up several times more valuable than all their other lines of business combined. I would love to see these new funds be funnelled into the incredible opportunity in the eCommerce landscape; one only needs to look at what Shopify has done to see what’s possible, and just how successful it can be.

I asked Matt why he was attracted to an investment from Salesforce’s VC arm, rather than an investment-only style firm. He said, “I love Salesforce’s philosophy, how they cultivate such a fantastic community, how they support progressive policies in San Francisco and the other cities they operate in, how they’ve been founder-led, their scale, their leadership, and their longevity in defining an entirely new class of software and being the most significant player in it.”

I love the point about Salesforce defining a class of software — and I have realized recently just how huge their developer community is — so I really appreciate this comment from Matt. Making commercial and SaaS software is a well-established business now. Automattic is in a unique position as the most powerful player in an open ecosystem proud of its independence. This provides many unique opportunities for Automattic the business and unique challenges for Automattic the WordPress community member.

Image credit: Matt Mullenweg, whose blog I brazenly stole it from.

WPTavern: WordPress Community Contributors to Host Free Online Diversity Workshop Ahead of WordCamp US

Thu, 09/19/2019 - 22:14

WordCamp US will debut a new Community Track in November that will feature sessions and workshops on topics like meetups, WordCamps, diversity and inclusion, and kids/youth. Jill Binder, Allie Nimmons, Aurooba Ahmed, and David Wolfpaw will be hosting a workshop called “Creating a Welcoming and Diverse Space” at the event. In order to adequately prepare for presenting on this sensitive topic, the team will be running the workshop in a live, interactive Zoom call on Sunday, October 6.

In light of the recent news about a central European PHP conference getting canceled due to a lack of a diverse lineup, the broader PHP community is becoming more conscious of the importance of recruiting speakers that better represent their communities.

“The Diverse Speaker Workshops that I’m running in WordPress and am bringing to other technologies have been just as important for years as they are now,” training leader Jill Binder said. “These workshops are an essential piece to the whole puzzle for creating diverse communities, attendance at events, public speakers, and ultimately, leaders and organizers.”

Binder said there are many factors in society that work against having diversity in a tech event’s public speaker lineup, but one that her team is specifically tackling in these workshops is imposter syndrome.

“Our workshops help folks bust through their impostor syndrome and develop a topic, title, pitch, bio, and outline, more confidence in public speaking, and the motivation to start speaking,” Binder said.

“The new workshop that Allie, Aurooba, David, and I are creating for WordCamp US on ‘Creating a Welcoming and Diverse Space’ is another important piece to the puzzle. We are going to be teaching mindset, community, environment, speakers, and allyship. It will be an interactive workshop where people will walk away with an action list they can start implementing in their communities (whether in person or online) right away.”

Some organizers of tech events have claimed that for certain events it is impossible to create a diverse lineup of speakers due to the demographics of the community and lack of willing participants.

Binder said that in her experience it is unlikely that more diverse people are unwilling to speak but rather that the event is not being created with more kinds of people in mind. She offered a few suggestions for organizers to consider in planning ahead for a welcoming and diverse space:

  • Have the event at different times that work for people with families. For example, don’t hold them all at 9pm at night. Weekend afternoons may work. Ask those with children what works for them.
  • Consider venues that are not centered around alcohol (like bars and pubs). This opens up the event to attendees who are under 21, recovering addicts, folks who belong to a religious group that prohibits alcohol, and many other people who don’t feel safe or welcome in an alcohol-focused environment.
  • Choose venues that have accessible alternatives to stairs, such as elevators and ramps.
  • Try to have more diversity in the organizing team.
  • Bring in more diverse speakers. Don’t know how? Check out the Diverse Speaker Workshop – in WordPress and in other techs communities.

She also recommends organizers directly invite more people into their communities.

“Ask people in your network to introduce you to diverse people they may know who work with WordPress or your technology,” Binder said. “You can even go out and find those communities in your area – online and in person – or ask people to make an introduction for you to those groups. Examples of groups: Ladies Learning Code, Black Girls Code. Form genuine, friendly relationships with community members so that they can help you reach the WordPress enthusiasts in their communities.”

Binder said the team will go into more detail on these topics during the workshop. Anyone who would like to learn more is welcome to attend the online public rehearsal for the workshop on October 6, at 3pm-5pm ET. This is a unique opportunity for those who cannot attend WordCamp US to join in on one of the interactive workshops. Comment on the Community team’s post with contact information and workshop leaders will send the zoom link and more information.

WPTavern: Bayleaf: A Food and Recipe Blog Theme

Thu, 09/19/2019 - 18:49

With the WordPress theme directory dominated by business-oriented themes, it’s sometimes tough to find themes that cater to more specific user groups. If you dig deep enough, you’ll find something outside the norm. Bayleaf is a blog theme specifically designed for sharing food and recipes.

The theme is designed and developed by Vedathemes. They currently have three themes in the theme directory, which follow the same clean design trend of Bayleaf.

Food-related themes excite me. In my off-time, I’m often browsing recipe blogs and looking for my next culinary experiment. The problem with many such sites is their designs have too much noise instead of just showcasing the content visitors are looking for. I was pleasantly surprised at the minimalist and open approach in the Bayleaf demo.

Admittedly, I was drawn in by all the yummy food pics.

The theme author has obviously taken a look at the food blogs and built a design that showcases what’s possible without adding complexity. The related posts feature is also a nice extra for site visitors who’ll likely look for related recipes.

Bayleaf combines the Poppins and Montserrat font families to create bold headers that are complimented by readable body copy. The theme comes with options for displaying a sidebar on single posts or pages, but I’d recommend opting out. The design works best without a sidebar, allowing more breathing room for sharing food images.

The theme is slowly building an audience since its release in February. It currently has 1,000+ installs and a five-star rating from six reviews in the theme directory.

Create a Unique Look with the Display Posts Widget

Bayleaf’s most prominent custom feature is its Display Posts widget. By placing this widget in the Homepage Above Content or Homepage Below Content sidebar, users have a ton of variety with how their site looks. No two homepages need look alike.

The widget comes with six list, grid, and slider styles to choose from. It supports custom post types and taxonomies, so users can use it for content such as events, products, or anything else they want to showcase.

My first thought when viewing the demo was, Not another complicated slider with a hard-to-configure customizer experience. While I’m not usually a fan of sliders, configuring this one was easy. Plus, the grid and list styles offered alternative options.

A lot of themes overdo features like this, offering a clunky experience within the customizer. However, Bayleaf keeps it simple by packaging the feature as a widget with just enough variety to cover most use cases.

My one complaint with the Display Posts widget is that it was hard to find at first. At this point, it should be standard practice to prefix custom widgets with the theme name. “Bayleaf: Display Posts” would’ve been far easier to pick from the widget lineup.

Handling Block Editor Support

I tested Bayleaf against the latest public release of the Gutenberg plugin. The theme is not without a few problems, which is par for the course with most themes supporting the block editor. The Gutenberg plugin’s development is fast-paced, and it’s tough for theme authors to keep up. Something that works one week could break the next.

The theme takes a minimalist approach with regards to the editor, allowing the default editor styles to handle much of the layout. With the break-neck pace of change, this can sometimes be a better approach than attempting to manage every style.

There are areas where Bayleaf could be more opinionated. For example, the alignment and typography for the post title aren’t a one-to-one match between the editor and front end. The content width is wider on the front end than the editor, which means the number of characters per line doesn’t match. There are several minor items where the block editor overrules theme styles.

The theme doesn’t offer a 100% WYSIWYG experience, but it’s close enough at this stage and doesn’t break anything. Most issues are trivial and will simply take some adjustment time, assuming Gutenberg development settles a bit.

How Does the Code Stand Up?

Bayleaf isn’t pushing any boundaries, but it’s solid in comparison to the average theme. It’s based on the Underscores starter, which serves as the de facto standard for many themes in the official directory.

The theme doesn’t have a ton of custom code, so there are few places it could go wrong.

Like all themes in the official directory, it undergoes a rigorous review process. It’s Trac history doesn’t show anything worrisome. Vedathemes seems to have a good grasp of building themes that meet the official theme review standards.

The Final Verdict

You won’t find a boatload of options in Bayleaf. What you will find is a clean design that gets out of the way but with enough features to have fun tinkering around on your blog for a couple of hours. The Display Posts widget can get you pretty far with little work.

If you’re looking for a change to your food or recipe blog, you can’t go wrong giving this theme a run.

The theme could also be used for other types of sites. There are no specific features that limit its use to only food blogging.

WPTavern: Automattic Raises $300M in Series D Investment Round, Valuation Jumps to $3 Billion

Thu, 09/19/2019 - 16:15

Automattic announced another round of funding today, a $300 million Series D investment from Salesforce Ventures, giving the company a $3 billion valuation post-funding. The last time Automattic raised money was $160 million in a Series C round in 2014. Since that time the company has grown to more than 950 employees and made strategic acquisitions, including WooCommerce in 2015 and Tumblr (closing in 2019).

CEO Matt Mulleneweg said the funds will enable the company to speed up and scale its product development, as well as continue the company’s continual contributions to WordPress:

For Automattic, the funding will allow us to accelerate our roadmap (perhaps by double) and scale up our existing products—including WordPress.com, WordPress VIP, WooCommerce, Jetpack, and (in a few days when it closes) Tumblr. It will also allow us to increase investing our time and energy into the future of the open source WordPress and Gutenberg.

In 2016, Mullenweg identified both Jetpack and WooCommerce as “multi-billion dollar opportunities” that could each be larger than WordPress.com in the future. Jetpack has grown from 1+ million users in 2016 to more than 5 million today. The plugin’s product team has aggressively expanded its commercial plans and features and is one of the first to experiment with offering previews and commercial upgrade nudges for blocks in WordPress’ editor.

WooCommerce has also grown to more than 5 million active installs (from 1+ million in 2015 at the time of acquisition). The e-commerce platform has a more challenging market with formidable competitors like Shopify, which recently overtook eBay as the second largest shopping site after Amazon. Shopify reported $362 million in revenue during its last quarter with $153 million coming from subscriptions to the Shopify platform.

I asked Mullenweg about how the funding might help Automattic make WooCommerce more user-friendly and competitive. Despite going up against the seemingly indomitable e-commerce powerhouses, Mullenweg sees WooCommerce’s platform an opportunity for growing independent stores on the web.

“WooCommerce already represents the best way to marry content and commerce, and has a huge advantage being so tightly integrated from a user perspective with WordPress itself,” Mullenweg said. “However it also inherits some of the barriers WordPress has to adoption, particularly from new users. I think that Gutenberg will help a ton, as it’s better than any of the builders the eCommerce players have, and when that gets combined with the flexibility, control, and scalability you get from WP + WooCommerce it’s going to be huge. There’s a ton of work left to do, though, and we’re trying to grow that team as quickly as possible to keep up with the opportunity.”

Mullenweg declined to share any information about Jetpack and WooCommerce’s revenue today but confirmed that they have not yet eclipsed WordPress.com.

“What I can say is that WP.com is still our biggest business, and WooCommerce was our fastest growing last year,” he said.

Automattic’s most recent round of funding will help the company better monetize these products that have grown in tandem with WordPress’ market share, which W3Techs puts at 34.5% of the top 10 million websites. Independent stores sitting on top of this large chunk of the web represent a significant market that Automattic is currently dominating in the WordPress space.

The Tumblr acquisition also affords another opportunity to introduce e-commerce solutions to more of Automattic’s customers. Mullenweg previously said the Tumblr app receives 20X more daily signups than the WordPress mobile app. The social network/blogging hybrid also has a significantly younger user base, based on a 2018 study that found 43 percent of internet users between the ages of 18 to 24 years old used Tumblr. It’s an untapped market for e-commerce, as Tumblr users who want to sell currently have to use a service like Shopify or Ecwid and generate a Tumblr-compatible widget.

Mullenweg said the acquisition hasn’t closed yet but Automattic may explore e-commerce on Tumblr in 2020.

“Once it closes there will be a few months of normal integration work and getting the teams working together, making sure we have harmonized policies on support, content moderation, anti-spam, ads, and all of those lower-level things,” he said. “Beyond that I’ve seen what you’re seeing — a lot of Tumblr users want access to more customization and e-Commerce. There are no specific plans yet but I imagine that’s something the team will consider for next year’s roadmap.”

Matt: Automattic’s Series D

Thu, 09/19/2019 - 13:01

Today Automattic announced it has closed a new $300 million Series D, with Salesforce Ventures taking the entire round. This puts us at a post-round valuation of $3 billion, three times what it was after our last fundraising round in 2014. It’s a tremendous vote of confidence for Automattic and for the open web.

I met Marc Benioff earlier this year, and it became obvious to both of us that Salesforce and Automattic shared a lot of principles and philosophies. Marc is a mindful leader and his sensibilities and sense of purpose feel well aligned with our own mission to make the web a better place. He also helped open my eyes to the incredible traction WordPress and WP VIP has seen in the enterprise market, and how much potential there still is there. I’ve also loved re-connecting with Bret Taylor who is now Salesforce’s President and Chief Product Officer. Bret’s experience across Google Maps, Friendfeed, Facebook, Quip, and now transforming Salesforce makes him one of the singular product thinkers out there and our discussion of Automattic’s portfolio of services have been very helpful already.

For Automattic, the funding will allow us to accelerate our roadmap (perhaps by double) and scale up our existing products—including WordPress.com, WordPress VIP, WooCommerce, Jetpack, and (in a few days when it closes) Tumblr. It will also allow us to increase investing our time and energy into the future of the open source WordPress and Gutenberg.

The Salesforce funding is also a vote of confidence for the future of work. Automattic has grown to more than 950 employees working from 71 countries, with no central office for several years now. Distributed work is going to reshape how we spread opportunity more equitably around the world. There continue to be new heights shown of what can be achieved in a distributed fashion, with Gitlab announcing a round at $2.75B earlier this week.

Next year Automattic celebrates 15 years as a company! The timing is fortuitous as we’ve all just returned from Automattic’s annual Grand Meetup, where more than 800 of us got together in person to share our experiences, explore new ideas, and have some fun. I am giddy to work alongside these wonderful people for another 15 years and beyond.

If you’re curious my previous posts on our fundraising, here’s our 2006 Series A, 2008 Series B, 2013 secondary, and 2014 Series C. As before, happy to answer questions in the comments here. I also did an exclusive interview with Romain Dillet on (WP-powered) Techcrunch.

WPTavern: Gutenberg 6.5 Adds Experimental Block Directory Search to Inserter and New Social Links Block

Thu, 09/19/2019 - 03:41

Gutenberg 6.5 was released today with a rough prototype that adds one-click search and installation of blocks from the block directory to the inserter. Selected blocks are automatically installed as a plugin in the background and inserted into the editor with one click.

The pull request for the experiment indicates that it’s still very much a work in progress. It extends the inserter to fetch a list of suggestBlocks similar to reusableBlocks, and the list is currently served from a mock API.

The prototype is can be turned on under the Gutenberg > Experiments menu, a relatively new Settings page that was added in Gutenberg 6.3. This menu also allows testers to enable the experimental Navigation Menu Block, Widgets Screen, and Legacy Widget Block.

Block Navigation has also been added to the experimental Navigation Block in this release. This addition is considered a first start that is expected to evolve over time.

“Regardless of how the UI evolves for this block, I think there will always be a need for representing the menu structure as a child block tree with all menu hierarchies mapped out consistently and not hidden (dropdowns, etc),” Gutenberg engineer Matias Ventura said.

“Luckily, we already have a view that handles that representation in the ‘block navigator.’ That means if the navigation menu block is represented through child blocks, we’ll get this view for free.”

In the future, Gutenberg engineers may allow for drag-and-drop reordering of items in the navigator and may explore rendering the view inline or in a modal launched from the navigation menu block.

Gutenberg 6.5 Adds New Social Links Block

Gutenberg 6.5 also adds a new social links block under the widgets panel. It allows users to place social links anywhere within the content by clicking on the icons and pasting in their social URLs. The gif below demonstrates how the block works, although the grey placeholder icons have since been removed in favor of opacity changes to indicate unconfigured blocks.

This release introduces a handful of other notable updates, including support for border radius changes in the button block, support for adding captions to images in the Gallery block, and the addition of local autosaves.

The 6.5 release post has not yet been published but the plugin update is available in the admin and a full list of enhancements and bug fixes can be found in the changelog.

WPTavern: EditorsKit Adds Nofollow Options for Links, Fixes Bug with Gutenberg Metaboxes Overlapping in Chrome

Wed, 09/18/2019 - 19:42

EditorsKit is becoming somewhat of a “hotfix” plugin for Gutenberg, especially with the additions to the 1.14 release this week. Developer Jeffrey Carandang added new link formats for nofollow rel attribute options, along with a fix for an annoying bug in Chrome that causes Gutenberg metaboxes to overlap. He has been closely monitoring feedback on both Gutenberg and EditorsKit, introducing features for which users have an immediate need.

Google recently announced new ways to identify nofollow links with two additional rel attribute options for specifying links as sponsored and/or user-generated content. The Gutenberg core team has expressed hesitation on a PR that would add nofollow link options, invoking WordPress’ 80/20 rule.

Since the related PR doesn’t seem to be a priority, with no movement for two weeks, Carandang decided to add the nofollow and sponsored rel attribute options to EditorsKit, so users can start following Google’s recommendations without having to switch to HTML mode. He also managed to make it work with the version of Gutenberg included in core.

Chrome users may have noticed that the block editor has a nasty bug with metaboxes overlapping, obscuring the main content area. This problem was introduced in the recent Chrome 77 update and is present on WordPress 5.2.3 and older versions.

Chrome developers are aware of the issue and a fix will be in the next release. Version 78 is expected October 22. Since it is a bug with Chrome, the Gutenberg team has opted not to release a fix/workaround for this problem. In the meantime, they recommend updating to WordPress 5.3 if it is released before the Chrome bug is fixed. This isn’t likely, as 5.3 is scheduled for mid-November.

The Gutenberg team also recommend using a different browser or installing the Gutenberg plugin to fix the issue. Andrea Fercia noted on the ticket that the plugin is still listed among WordPress’ beta plugins and may not be advisable to use in production on some sites. Users with a technical background can implement one of several CSS solutions in the ticket, but this is a frustrating bug for users who don’t know how to apply code fixes.

Carandang added a fix for this bug to the most recent version of EditorsKit. So far his strategy of being responsive to users’ requests seems to have been successful, as his Gutenberg utility plugin now has more than 1,000 active installs. He said he is happy to add hot fixes for EditorsKit users and will remove them once the fixes have been added to Chrome and/or the block editor.

WPTavern: Behind New Packages Project Lead, Theme Review Team Launches Admin Notices Solution

Wed, 09/18/2019 - 18:06

As part of the WordPress Theme Review Team’s plan to curb obtrusive admin notices, the team pushed version 1.0 of its Admin Notices package to the public. The new package provides a standard API for theme authors to display admin notices.

Ari Stathopoulos took over as the packages project lead in late August. Stathopoulos is the primary developer and creator of the highly-rated Kirki customizer framework, which currently has 300,000+ active installs as a plugin. However, the framework is also available as separate modules that theme authors can bundle within their themes.

The Admin Notices package is the third package produced by the team and the first that Stathopoulos has spearheaded.

Adding a basic admin notice in WordPress is relatively easy for most developers. However, handling features such as persistent dismissible actions is more complex. The Admin Notices package handles this out of the box.

Some options for the package include the ability to:

  • Set a title and message.
  • Select a type that adds in the appropriate UI class (info, success, warning, error).
  • Choose which admin screens the notice appears on.
  • Limit the message by user capability so that it doesn’t appear for all users.

The above screenshot shows an example of a basic admin notice output for the four available types. The dismiss action is handled by JavaScript and works without reloading the page. Once dismissed, users will no longer see the notice.

“I think the hardest thing about it was deciding how restrictive we wanted it to be,” said Stathopoulos of the challenges building this package. The package restricts theme authors to paragraph, link, bold, and italic elements in version 1.0. It doesn’t leave a lot of room for experimentation, but standardization is the goal. The more elements allowed, the more likely the tool doesn’t solve the team’s problem of keeping admin notices unobtrusive.

User Notifications Are a Complex Problem

WordPress doesn’t provide a formal API for user notifications. However, it does provide a standard set of CSS classes and a hook for attaching notices. The Codex also has some examples of best practices. The lack of a formal API has left theme and plugin authors to their own devices. Users have suffered because of wildly varying implementations and common issues such as non-dismissible advertisements.

Tim Hengeveld proposed a Notification Center API on Trac in 2018. The ticket has a healthy, ongoing discussion and some UI proposals. The proposal is still marked as “Awaiting Review,” and it’s unlikely that it’ll ship anytime sooner than WordPress 5.4 or later.

Currently, many plugins and themes also use admin notices for user onboarding, which is a separate problem in need of a solution. There’s a 4-year-old ticket that discusses WordPress new-user onboarding, but there’s not much movement to solve this problem for plugins and themes.

While the TRT’s package doesn’t tackle all issues associated with user notifications, it does help limit some of the short-term damage.

More Packages in the Works

More packages are currently being built and others are in the planning stages.

The goal of the overall project is to provide theme authors with drop-in modules they can bundle with their themes. The packages are all written in PHP 5.6+ in hopes to push theme authors toward more modern coding practices (relatively speaking, since PHP 7.4 will be released this year). It will also help streamline the review process if more theme authors adopt the packages rather than building everything in-house.

“If we build packages for the most-requested things, we’ll hopefully empower people to build quality themes easier,” explained Stathopoulos. “I think of packages as building blocks for themes.”

Stathopoulos is working on a customizer control for selecting a color with alpha transparency, which could be released as early as next week. It will provide theme users with more control over how their colors appear for themes that implement it.

“After we build the basics I want to focus on packages that would enhance a11y and privacy in themes – two areas where themes are falling short,” he said. “It would help a lot of people, and that is ultimately our goal.”

Theme authors have grown accustomed to installing JavaScript and CSS packages via NPM over the past few years. However, their use of Composer as a PHP dependency manager has lagged. In some part, this could be due to WordPress’ previous reluctance to bump its minimum version of PHP. Many packages available on Packagist, the main Composer repository, do not work with older versions of PHP. WordPress’ recent jump to PHP 5.6+ and plans to move to 7+ in the future may push more theme authors to consider PHP dependency management.

The TRT has a Packagist account and has made all of its packages installable via Composer.

No Requirement to Use Packages Yet

There are no current plans for the TRT to start requiring the use of these packages for specific features, but a few team members have proposed doing so.

“There are valid reasons to enforce the use of these packages, but it can’t happen overnight,” said Stathopoulos. “We want themes in the repository to have some standards, it can not be the wild west. Code quality has to improve. These packages are a way to make life easier for people, and ultimately save time for everyone.”

Stathopoulos is open to theme authors building custom implementations if they can improve upon what the team has built, but he prefers that authors “discuss their ideas in the package repository and submit a pull-request so that the whole community can benefit.”

Getting theme authors involved is one area where the team has struggled. Contributing to the packages could benefit the entire community. “Most people don’t even know about them since they are not listed anywhere,” said Stathopoulos. “Theme Authors currently have to look for them, and in order to look for them someone needs to tell them they exist (which doesn’t happen).” One of the next steps would be getting the packages listed in the TRT’s documentation.

Working together on common theme features could provide a bridge between theme authors and reviewers, allowing them to solve issues together.

Note: The author of this article was involved with the initial theme packages proposal and a developer on its initial package releases.