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
Tweet

More Decks by Caleb Burks

Other Decks in Programming

Transcript

  1. The Theme Review Team
    How to Contribute

    View Slide

  2. About Me
    • Caleb Burks
    • WC Ninja at Automattic
    • Loves Gummy Bears
    • Tweets at @WPprodigy

    View Slide

  3. It all started on a
    Saturday afternoon...

    View Slide

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

    View Slide

  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.

    View Slide

  6. Step #1
    • Get access to Trac at themes.trac.wordpress.org

    View Slide

  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.

    View Slide

  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.

    View Slide

  9. Welcome to the Team!

    View Slide

  10. It's Go Time
    Now that you are apart of the team, it's time to start a review!

    View Slide

  11. Testing Environment

    View Slide

  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.

    View Slide

  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

    View Slide

  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/

    View Slide

  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

    View Slide

  16. Time to review!

    View Slide

  17. Request a theme

    View Slide

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

    View Slide

  19. New Theme Checklist: Theme Check

    View Slide

  20. New Theme Checklist: Ticket Responses
    • Required vs Recommended vs Notes
    • Add a trac message to the author

    View Slide

  21. Requirements

    View Slide

  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/

    View Slide

  23. Requirements: Code
    • No PHP or JS errors
    • Sanitize everything
    • Provide a unique prefix for everything the Theme defines in
    the public namespace

    View Slide

  24. Requirements: Core Functionality and Features
    • Use WordPress functionality and features first, if available
    • Include comments_template()
    • No pay wall restricting any WordPress feature

    View Slide

  25. Requirements: Presentation vs Functionality
    • Themes must not not generate user content, or configure
    non-theme site options or site functionality

    View Slide

  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.

    View Slide

  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.

    View Slide

  28. Requirements: Naming
    • Theme names must not use: WordPress, Theme.
    • capital_P_dangit
    -- Spell “WordPress” correctly in all public facing text.

    View Slide

  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

    View Slide

  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.

    View Slide

  31. Requirements: Stylesheets and Scripts
    • No hard coding of scripts and styles. Everything should be
    enqueued.
    • No analytics or tracking.

    View Slide

  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.

    View Slide

  33. Requirements
    A full checklist can be found here:
    https://make.wordpress.org/themes/handbook/review/
    required/

    View Slide

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

    View Slide

  35. Reasons to join the TRT
    • Five for the Future
    • ma.tt/five-for-the-future
    • Personal Growth / Learning
    • Helping others learn

    View Slide

  36. Questions?

    View Slide