Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Contributing to the Theme Review Team

Contributing to the Theme Review Team


Caleb Burks

July 19, 2015


  1. The Theme Review Team How to Contribute

  2. About Me • Caleb Burks • WC Ninja at Automattic

    • Loves Gummy Bears • Tweets at @WPprodigy
  3. It all started on a Saturday afternoon...

  4. Hmm, any other ways to contribute? • Core • Design

    • Accessibility • Polyglots • Themes
  5. Themes? The Theme Review Team reviews and approves every Theme

    submitted to the WordPress Theme repository. Reviewing Themes sharpens your own Theme development skills.
  6. Step #1 • Get access to Trac at themes.trac.wordpress.org

  7. Step #2 • 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.
  8. Step #3 • Subscribe to the blog at make.wordpress.org/themes. •

    Being subscribed to this blog lets you keep in touch with the team and updates.
  9. Welcome to the Team!

  10. It's Go Time Now that you are apart of the

    team, it's time to start a review!
  11. Testing Environment

  12. Manual Set-up • Install a fresh version of WordPress locally

    using Mamp, Wamp, or Xampp. • Set WP_DEBUG to 'true' in your wp-config.php file.
  13. Manual Set-up - Part 2 • Set up the site

    with the demo settings. • Import the theme unit test data. • Configure Site Settings • More details found at: codex.wordpress.org/Theme_Unit_Test
  14. Manual Set-up - Part 3 Install the following Plugins: -Theme

    Check -Debug Bar -Log Deprecated Notices -Monster Widget -WordPress Beta Tester -Regenerate Thumbnails Or just install: https://wordpress.org/plugins/developer/
  15. Automatic Set-up - VVV • Install VVV • Install ThemeReview

    VVV • https://github.com/aubreypwd/wordpress- themereview-vvv • Sit back and enjoy automation at it's finest
  16. Time to review!

  17. Request a theme

  18. New Theme Checklist • Install Theme • Run the Theme

    Check Plugin
  19. New Theme Checklist: Theme Check

  20. New Theme Checklist: Ticket Responses • Required vs Recommended vs

    Notes • Add a trac message to the author
  21. Requirements

  22. Requirements: Accessibility If the theme has the tag ‘accessibility-ready’ then

    it needs to meet some extra accessibillty requirements. https://make.wordpress.org/themes/handbook/review/ accessibility/
  23. Requirements: Code • No PHP or JS errors • Sanitize

    everything • Provide a unique prefix for everything the Theme defines in the public namespace
  24. Requirements: Core Functionality and Features • Use WordPress functionality and

    features first, if available • Include comments_template() • No pay wall restricting any WordPress feature
  25. Requirements: Presentation vs Functionality • Themes must not not generate

    user content, or configure non-theme site options or site functionality
  26. Requirements: Language • 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 in style.css • Can use any language for text, but only use the same one for all text.
  27. Requirements: Licensing • 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 images. • All code and design should be your own or legally yours. Cloning of designs is not acceptable.
  28. Requirements: Naming • Theme names must not use: WordPress, Theme.

    • capital_P_dangit -- Spell “WordPress” correctly in all public facing text.
  29. 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 the database. • Lots of Customizer examples available at: github.com/WPTRT/code-examples
  30. Requirements: Plugins • 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.
  31. Requirements: Stylesheets and Scripts • No hard coding of scripts

    and styles. Everything should be enqueued. • No analytics or tracking.
  32. 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 output! • Use esc_attr() for text inputs and esc_textarea() for textareas.
  33. Requirements A full checklist can be found here: https://make.wordpress.org/themes/handbook/review/ required/

  34. Woah, thats a lot of work!?!

  35. Reasons to join the TRT • Five for the Future

    • ma.tt/five-for-the-future • Personal Growth / Learning • Helping others learn
  36. Questions?