The Theme Review Team
How to Contribute
• Caleb Burks
• WC Ninja at Automattic
• Loves Gummy Bears
• Tweets at @WPprodigy
It all started on a
Hmm, any other ways to contribute?
The Theme Review Team reviews and approves every Theme
submitted to the WordPress Theme repository. Reviewing
Themes sharpens your own Theme development skills.
• Get access to Trac at themes.trac.wordpress.org
• Join Slack at chat.wordpress.org!
• Then join the TRT in #themereview.
• All TRT meetings are done in Slack. Weekly meetings are on
Tuesday’s at 18:00 UTC.
• Subscribe to the blog at make.wordpress.org/themes.
• Being subscribed to this blog lets you keep in touch with
the team and updates.
Welcome to the Team!
It's Go Time
Now that you are apart of the team, it's time to start a review!
• Install a fresh version of WordPress locally using Mamp,
Wamp, or Xampp.
• Set WP_DEBUG to 'true' in your wp-conﬁg.php ﬁle.
Manual Set-up - Part 2
• Set up the site with the demo settings.
• Import the theme unit test data.
• Conﬁgure Site Settings
• More details found at:
Manual Set-up - Part 3
Install the following Plugins:
-Log Deprecated Notices
-WordPress Beta Tester
Or just install: https://wordpress.org/plugins/developer/
Automatic Set-up - VVV
• Install VVV
• Install ThemeReview VVV
• Sit back and enjoy automation at it's ﬁnest
Time to review!
Request a theme
New Theme Checklist
• Install Theme
• Run the Theme Check Plugin
New Theme Checklist: Theme Check
New Theme Checklist: Ticket Responses
• Required vs Recommended vs Notes
• Add a trac message to the author
If the theme has the tag ‘accessibility-ready’ then it needs to
meet some extra accessibillty requirements.
• No PHP or JS errors
• Sanitize everything
• Provide a unique preﬁx for everything the Theme deﬁnes in
the public namespace
Requirements: Core Functionality and Features
• Use WordPress functionality and features ﬁrst, if available
• Include comments_template()
• No pay wall restricting any WordPress feature
Requirements: Presentation vs Functionality
• Themes must not not generate user content, or conﬁgure
non-theme site options or site functionality
• All theme text strings are to be translatable
• Include a text domain in style.css
• Use a single unique theme slug – as the theme slug appears
• Can use any language for text, but only use the same one
for all text.
• Be 100% GPL and/or 100% GPL-compatible licensed.
• Declare copyright and license explicitly. Use the license and
license uri header slugs to style.css.
• Declare licenses of any resources included such as fonts or
• All code and design should be your own or legally yours.
Cloning of designs is not acceptable.
• Theme names must not use: WordPress, Theme.
-- Spell “WordPress” correctly in all public facing text.
Requirements: Options and Settings
• Use the Customizer for implementing theme options.
• Save options in a single array.
• Use sane defaults and don’t write default setting values to
• Lots of Customizer examples available at:
• Do not include any plugins.
• A theme can recommend plugins but not include those
plugins in the theme code.
• Don’t do things in a theme considered plugin territory.
• Custom Post Types, Shortcodes, etc.
Requirements: Stylesheets and Scripts
• No hard coding of scripts and styles. Everything should be
• No analytics or tracking.
Requirements: Security and Privacy
• Don’t phone home without informed user consent.
• Validate and sanitize untrusted data before entering into the
database. All untrusted data should be escaped before
• Use esc_attr() for text inputs and esc_textarea() for
A full checklist can be found here:
Woah, thats a lot of
Reasons to join the TRT
• Five for the Future
• Personal Growth / Learning
• Helping others learn