WordCamp Bristol Contributor Day

An introduction to the day

I was thrilled to be part of the very first Bristol WordCamp Contributor day which kicks of the main Bristol WordCamp 2019 event. Contributor days are seen as a great way to give something back to the WordPress project and be a part of the community that supports and creates WordPress.org. They cater for all levels of experience so you don’t need any coding experience to attend one.

The event was held upstairs in the Pavilion overlooking Bristol harbourside. The four tables covered a range of topics:

  • Theme review
  • Support
  • Design
  • WordPress.tv

When I was asked to be one of the table leads I admit I was a little bit daunted at first. I knew absolutely nothing about doing a theme review so it was a good opportunity to do some research into something new and get a bit of an insight into the process.

Aim of the day at the Theme Review Table

The aim of the day was to learn about the theme review process and hopefully complete a few reviews. Usually a theme review is a bit more than a one day process, as the theme is checked for set requirements then sent back to the author who looks at the adjustments needed and often takes up to seven days to respond.

Theme are allocated via the Themes Trac, either upon request or via the team on Slack. You then are in charge of the theme review from beginning to end but can ask for help from the team. Due to time constraints on the day we weren’t looking to complete any theme reviews in their entirety. 

Before we started

A WordPress.org Account

Each participant ensured they had an active wordpress.org account. Access via login.wordpress.org and either login or create an account

Slack

Each participant signed up to the Make WordPress Slack group. Note on getting onto Slack (use your wp.org username/password): https://make.wordpress.org/chat/

Slack URL: https://wordpress.slack.com

Channel: #forums

Set up a local environment on your laptop

The easiest way to undertake a theme review is to set up a local environment on your laptop using one of the tools listed below. We had an online staging version set up for those that couldn’t get a local environment setup.

https://localbyflywheel.com/

https://www.mamp.info/en/downloads/

Setting up WordPress ready for theme testing

A fresh install of WordPress was prepared complete with the recommended theme test plugins and unit test data.

The following Plugins were installed (Note: some of the plugins below can be installed via the Developer plugin):

In addition, we installed the WPThemeReview standard for PHP Codesniffer.  This is a tool that checks PHP, JavaScript and CSS files against the requirements.

You can use this tool both as a command line tool, or together with your code editor. In our case, we had to install Composer first before getting this all set up.

This tool will scan the theme files for any known issues but it is also recommended to do a manual check through as well.

Finally, we installed some theme unit test data, which would allow us to test the theme’s ability to handle all types of content and layout scenarios with Gutenberg and Classic Editor.

Theme review breakdown

A theme review is split up into different areas, you can find further information on this under resources. The main areas we checked were:

  • Licence
  • Naming
  • Screenshot
  • Security
  • Code
  • Templates
  • Prefix
  • Core Functionality and Features
  • Including scripts, styles and other files
  • Options and Settings
  • Documentation and presentation
  • Plugins and Libraries
  • Language
  • Privacy
  • Readme file

How the day went

We had about 3 hours in total to test a few themes so we tried to cover as much of the process as possible.

Each participant had their own environment set up and then, to begin with, we all chose the same theme from Themes Trac. We all worked through a set of the requirements each and then compared notes. The first theme we chose failed on a number of issues so if we were completing the whole process we’d be getting in contact with the theme author with some recommendations to fix the issues before resubmitting.

Once we were all up to speed, we took a theme each to review and work through the requirements list. The WPThemeReview tool was a real time saver to scan the theme for any PHP/Code issues. Using unit test data was also crucial to help spot any major issues the theme might have with core WordPress functionality (e.g. layout, admin options).

To round up, it was great to be part of a team and share a learning experience on one of the core WordPress activities. It also allowed any budding theme builders a chance to get an insight into what the requirements are for submitting a theme to WordPress.org

The other tables

In addition the theme review table, three other tables were busy at work in other areas of the WordPress universe.

Support – Dave Barr led the support table and the team spent the day answering tickets on the WordPress.org support forum

WordPress TV – Hannah Smith’s table worked on adding captions to videos uploaded to WordPress TV. It looked like the team achieved quite a bit during the course of the day with some still busy at work as others left for the day!

Design – Led by Tammie Lister, the team explored many aspects of WordPress related to design, from the WordPress interface and user experience to Gutenburg and beyond.

The overall contributor day was a fantastic success and a special mention for Jacob Stow for organising the day and the initial research into all the activities. As ever, huge thanks to all the other tables leads, the WordCamp Bristol organisers and everyone who joined in to make the day a fantastic success.

Documentation

Theme Review team pages:

https://make.wordpress.org/themes/

Resources

https://make.wordpress.org/themes/handbook/

https://make.wordpress.org/themes/handbook/review/required/

https://make.wordpress.org/themes/handbook/get-involved/become-a-reviewer/

https://make.wordpress.org/themes/handbook/review/how-to-do-a-review-draft/

https://themes.trac.wordpress.org/query?status=new&max=0&order=id

Local Environments

https://localbyflywheel.com/

https://www.mamp.info/en/downloads/

Tools

https://github.com/WPTRT/WPThemeReview

https://github.com/squizlabs/PHP_CodeSniffer/wiki

https://codex.wordpress.org/Theme_Unit_Test

https://wordpress.org/plugins/developers/readme-validator/

https://ps.wordpress.org/plugins/piglatin/