The document discusses the WordPress Theme Repository, including what it is, why it benefits users and developers, how to develop themes for submission, how to submit themes, and how users can find themes. The WordPress Theme Repository is the official directory of free WordPress themes that have been reviewed for quality and adherence to guidelines. It provides a centralized place for users to find high-quality themes and developers to share their themes.
Unblocking The Main Thread Solving ANRs and Frozen Frames
Developing, Submitting, Finding WordPress Themes
1. The WordPress Theme Repository Chip Bennett, WordCamp Kansas City, 11 June 2011 Developing, submitting, and finding the best free WordPress Themes
2. The WordPress Theme Repository Audience Developers? End Users? How long using WordPress? Agenda What is the WordPress Theme Repository? Why the WordPress Theme Repository? Developing a Repository-hosted Theme Submitting a Repository-hosted Theme Finding a Repository-hosted Theme Open Forum Feedback, criticism, and ideas for the WordPress Theme Repository: Themes, quality, Guidelines, review process 2 WordCamp Kansas City: 11 June 2011
3. What is the WordPress Theme Repository? A description and brief history of the Repository WordCamp Kansas City: 11 June 2011 3
4. The WordPress Theme Repository:What is the WordPress Theme Repository? The official WordPress.org directory of free WordPress Themes. Timeline: Jul 2008: Theme Repository Opens Dec 2008: WordPress 2.7 Introduces Theme Updates from WP Admin Interface Dec 2008: 200 Themes Purged From Repository Jun 2009: WordPress 2.8 Introduces Theme Repository Browsing from WP Admin Interface Jun 2010: Formation of Theme Review Team 4 WordCamp Kansas City: 11 June 2011
5. Why the WordPress Theme Repository? How the Repository benefits both WordPress end users and Theme developers WordCamp Kansas City: 11 June 2011 5
6. The WordPress Theme Repository:Why the WordPress Theme Repository? End Users Convenience: Integrated into WP-Admin backend – search, install, updates Quality: Reviewed by real, live human beings Comprehensive Guidelines ensure high quality and support for core WordPress features and functionality Reliability/Freedom No malicious code or link spam No bogus attribution-link requirements No encrypted footers or any other encrypted code 100% GPL or GPL-compatible You cannot find this combination anywhere else in the world! 6 WordCamp Kansas City: 11 June 2011
7. The WordPress Theme Repository:Why the WordPress Theme Repository? Developers Automatic Updates Exposure Integrated into WP-Admin backend WordPress 3.1 has been downloaded more than 12 million timeshttp://wordpress.org/download/counter/ Built-in support mechanism WordPress.org Support Forum integration Great way to give back to the community! 7 WordCamp Kansas City: 11 June 2011
8. Developing a Repository-Hosted Theme What Theme developers should know about developing Themes to be hosted in the Repository WordCamp Kansas City: 11 June 2011 8
9. The WordPress Theme Repository:Developing a Repository-Hosted Theme Setup Test Environment Latest WordPress version (including betas and release candidates) wp-config.php: set WP_DEBUG to TRUE Plugins: Theme Check, Log Deprecated Notices, Debug Bar, FixPress, WordPress Beta Tester Theme Review Guidelines Ensure Theme code meets guidelines for code quality, functionality, data security, licensing, naming, credit links, documentation, etc. Theme Unit Tests Install Theme Unit Test Data Ensure Theme meets guidelines for output and display of content 9 WordCamp Kansas City: 11 June 2011
10. The WordPress Theme Repository:Theme Review Guidelines Quality Why “Quality”? “The goal of the theme directory is not to list every theme in the world, it's to list the best ones. We want a reasonable number of themes we can point to that embody the best and brightest of WordPress development, and that users can choose without compromise.” – Matt Mullenweg What is “Quality”? The current Theme Review Guidelines can be summarized into five main areas: Licensing, Credit Links, and Security Code and Markup Standards Compliance and Best Practices WordPress Functionality and Feature Support WordPress Best Practices Theme Front-End Display 10 WordCamp Kansas City: 11 June 2011
11. The WordPress Theme Repository:Theme Review Guidelines - Quality Licensing, Credit Links, and Security Why? Non-negotiable; protect end-user data and freedoms Abuse of these issues is the original, and remains the primary, reason for Theme review Licensing 100% GPL-compatible. Period. Credit Links Reasonable, accurate, appropriate Security No malicious code or exploits (Yes, sadly, we still get people attempting to submit Themes with these) 11 WordCamp Kansas City: 11 June 2011
12. The WordPress Theme Repository:Theme Review Guidelines - Quality Code and Markup Standards Compliance and Best Practices Why? “Low-hanging fruit”, for the most part Encourage intentional code, rather than copy-pasta reliance Demonstrate purpose/pride in work, attention to detail HTML/CSS validation High-level review: major issues only PHP/JS Errors and Notices Clean, quiet output Deprecated WordPress Functions Maintain forward-compatibility 12 WordCamp Kansas City: 11 June 2011
13. The WordPress Theme Repository:Theme Review Guidelines - Quality WordPress Functionality and Feature Support Why? Ensure consistent user experience among Themes Expose full power/potential of WordPress to end users Leverage work of WordPress developer community, rather than “reinventing the wheel” for functionality Required Functionality Intentionally short list: Comments, Widgets Recommended Features Not required to be implemented, but if they are, must support core WordPress functionality: Navigation Menus, Post Thumbnails, Post Formats, Custom Header Images, Custom Backgrounds, Visual Editor Style, etc. Optional Features Everything else 13 WordCamp Kansas City: 11 June 2011
14. The WordPress Theme Repository:Theme Review Guidelines - Quality WordPress Best Practices Why? Helps ensure interoperability between Themes and Plugins, and future compatibility with WordPress core Facilitates use of Repository as resource for new developers Code practices Naming convention/prefixing Support for most recent WordPress version Forward-compatibility, cleanup of deprecated code, not encouraging use of obsolete versions of WordPress Use of core functions, hooks, template tags, and styles Plugin compatibility, facilitate child-theming, consistent user experience Use of standard Theme template files Must be used appropriately. At a minimum: index.php, style.css, screenshot.png, comments.php Theme documentation Anything out of the ordinary must be documented, so end users know how to use the Theme properly 14 WordCamp Kansas City: 11 June 2011
15. The WordPress Theme Repository:Theme Review Guidelines - Quality Theme Front-End Display Why? Ensures consistent experience for site visitors, and that user data are displayed as expected Theme Unit Test Data Standard data set tests all major WordPress features and content types Implementation and content, not aesthetics 15 WordCamp Kansas City: 11 June 2011
16. Submitting a Theme De-mystifying the process of Theme submission, review, and approval WordCamp Kansas City: 11 June 2011 16
17. The WordPress Theme Repository:Submitting a Theme Resources WordPress.org Theme Uploader Themes Subversion (SVN) Themes-Trac WordPress.org Extend/Themes WordPress Theme Review Team (WPTRT) Process Prepare/Upload Theme Package (developer) Generate Theme-Trac ticket (SVN/Trac) Theme Review/Approval (WPTRT reviewers) Synchronize SVN with Extend (WPTRT admins) 17 WordCamp Kansas City: 11 June 2011
18. The WordPress Theme Repository:Submitting a Theme: Resources WordPress.org Theme Uploader Only way to submit Theme to the Repository (No SVN-commit access for themes.svn, at least, not yet) Includes several automated scripts/tests Synchronized with Theme Check Plugin 18 WordCamp Kansas City: 11 June 2011
19. The WordPress Theme Repository:Submitting a Theme: Resources Themes SVN Where uploaded Theme files are stored, after the Theme ZIP archive is unpacked by the Theme uploader Perpetual repository: files are never deleted, except for extraordinarily egregious reasons SVN-checkout access 19 WordCamp Kansas City: 11 June 2011
20. The WordPress Theme Repository:Submitting a Theme: Resources Themes-Trac Theme Review ticketing/tracking system Uploader assigns each uploaded Theme a new ticket Theme Review process takes place within Trac tickets Theme Review progress tracked via Trac reports Theme developers can post comments using WPORG login credentials 20 WordCamp Kansas City: 11 June 2011
21. The WordPress Theme Repository:Submitting a Theme: Resources WordPress.org Extend/Themes Front-end for access/download of Repository-hosted Themes Heavily-moddedbbPress install Must be manually synchronized with SVN after Theme is approved in Trac 21 WordCamp Kansas City: 11 June 2011
22. The WordPress Theme Repository:Submitting a Theme: Resources WordPress Theme Review Team (WPTRT) Who are they? All-volunteer team of WordPress community members Mostly self-directing, under the WPORG umbrella Varying degrees of WordPress experience/expertise Undergo training period before gaining ticket resolution/closure privileges What is their purpose? Review and approve Theme tickets as quickly and as completely as possible Provide an educational resource for the WordPress Theme Developer community Encourage and establish community standards for Theme quality and best practices Anyone can get involved, and anyone interested is encouraged to do so! 22 WordCamp Kansas City: 11 June 2011
23. The WordPress Theme Repository:Submitting a Theme: Process Prepare/Upload Theme (Developer) Remove any extraneous files (.git or .svn directories, MACOSX files, backup files, etc) Compress the Theme as a ZIP file (the name of the file does not matter; it is re-packaged by SVN after being uploaded) Upload the ZIP file, using the WordPress.org Uploader. Generate Trac Ticket (SVN/Trac) If the uploader script finds no warning or required issues, the Theme is uploaded, and Trac ticket generated. Note: ensure that your Themes-Trac user profile includes an email address, so that you receive automated notification emails If the uploader script does find such issues, the upload fails, and the script returns a report of all detected issues 23 WordCamp Kansas City: 11 June 2011
24. The WordPress Theme Repository:Submitting a Theme: Process Theme Review/Approval (WPTRT reviewers) A WPTRT Reviewer assigns himself the Trac ticket, and proceeds with the review. Any issues noted during the review are listed in a comment to the Trac ticket. Noted issues are indicated as either REQUIRED (must be fixed for Theme approval) or RECOMMENDED. Some Reviewers will attach screenshots to help clarify Theme issues, or may give additional information, suggestions, etc. If the Theme has any REQUIRED issues, the ticket is closed as “not-approved”. Otherwise, the ticket is closed as “approved”. 24 WordCamp Kansas City: 11 June 2011
25. The WordPress Theme Repository:Submitting a Theme: Process Synchronize SVN with Extend (WPTRT admins) When a Trac ticket is closed, the version of the Theme included in the ticket must be synchronized with Extend. Approved Themes are synchronized as “approved” Not-Approved (or Newer-Version-Uploaded) Themes are synchronized as “old” This synchronization is a manual process, usually performed by a WPTRT admin at least once per day Once a Theme is synchronized as “approved”, it becomes the version available for download in Extend. Note: Extend is comprised of several servers; due to caching, it may take some time for the new version to propagate 25 WordCamp Kansas City: 11 June 2011
26. Finding a Repository-Hosted Theme What end users should know about searching for Themes hosted in the Repository WordCamp Kansas City: 11 June 2011 26
27. The WordPress Theme Repository:Finding a Repository-Hosted Theme What to look for: “Last Updated”: Themes that are being actively maintained The oldest Theme in the Repository was last updated June 2008, when WordPress was still at Version 2.5. Look for Themes updated since the most recent WordPress version, to ensure support for the latest WordPress features. If, e.g., a Theme was last updated prior to the following dates, it will not support these features: WordPress 3.1 Feb 2011 Post Formats WordPress 3.0 June 2010 Custom Nav Menus/Headers/Backgrounds WordPress 2.9 Dec 2009 Post Thumbnails WordPress 2.8 June 2009 Widgets WordPress 2.7 Dec 2008 Comment Threading/Paging Themes added/updated since ca. Fall 2010 have all undergone a thorough, consistent Theme Review Active support: either via the Theme’s WPORG support forum, or via the developer’s site 27 WordCamp Kansas City: 11 June 2011
28. The WordPress Theme Repository:Finding a Repository-Hosted Theme Themes with Specific Features Find Themes that meet your exact needs. Tag Filters: Colors Columns Width Features Subject WP-Admin: Boolean AND search only Extend: Boolean AND/OR searches 28 WordCamp Kansas City: 11 June 2011
29. The WordPress Theme Repository:Finding a Repository-Hosted Theme Featured Themes A sometimes-updated list of Themes highlighted by the WPTRT Generally, Themes with exemplary code quality, features, and/or design 29 WordCamp Kansas City: 11 June 2011
30. The WordPress Theme Repository:Finding a Repository-Hosted Theme Newest Themes Newest Themes added to the Repository (Newly added Themes, not existing Themes that have been recently updated) 30 WordCamp Kansas City: 11 June 2011
31. The WordPress Theme Repository:Finding a Repository-Hosted Theme Recently Updated Themes Existing Themes that have been updated most recently 31 WordCamp Kansas City: 11 June 2011
32. Recap Whew! That was a lot! WordCamp Kansas City: 11 June 2011 32
33. The WordPress Theme Repository Recap: What is the WordPress Theme Repository? Why the WordPress Theme Repository? Developing a Repository-hosted Theme Submitting a Repository-hosted Theme Finding a Repository-hosted Theme Questions? 33 WordCamp Kansas City: 11 June 2011
34. Open Forum You’ve heard from me; now I want to hear from you WordCamp Kansas City: 11 June 2011 34
35. The WordPress Theme Repository Open Forum Feedback, criticism, and ideas for the WordPress Theme Repository: Theme Repository: Theme Selection, Theme Quality, Child Themes/Theme Frameworks etc. Theme Submission Process Theme Review Guidelines Theme Review Process 35 WordCamp Kansas City: 11 June 2011
36. Resources Sites and information referenced, and further reading WordCamp Kansas City: 11 June 2011 36
37. The WordPress Theme Repository Resources End Users Theme Repository: http://wordpress.org/extend/themes/ Extend/Themes Tag Filter: http://wordpress.org/extend/themes/tag-filter/ Only Download Themes From Trusted Sources: http://www.chipbennett.net/2010/12/10/only-download-wordpress-themes-from-trusted-sources/ Developers Theme Uploader: http://wordpress.org/extend/themes/upload/ Themes SVN: http://themes.svn.wordpress.org/ Theme-Trac: https://themes.trac.wordpress.org/ Theme Review Guidelines: http://codex.wordpress.org/Theme_Review Theme Unit Tests: http://codex.wordpress.org/Theme_Unit_Test WordPress Theme Review Team WPTRT: http://make.wordpress.org/themes/ How to Join WPTRT: http://make.wordpress.org/themes/about/how-to-join-wptrt/ Theme-Reviewers Mail List: http://lists.wordpress.org/mailman/listinfo/theme-reviewers Theme Review Plugins: Theme Check: http://wordpress.org/extend/plugins/theme-check/ Log Deprecated Notices: http://wordpress.org/extend/plugins/log-deprecated-notices/ Debug Bar: http://wordpress.org/extend/plugins/debug-bar/ FixPress: http://wordpress.org/extend/plugins/fixpress/ WordPress Beta Tester: http://wordpress.org/extend/plugins/wordpress-beta-tester/ More Resources: http://make.wordpress.org/themes/guidelines/resources/ Editorials/Tutorials Theme Review Editorial: http://www.chipbennett.net/2010/10/20/in-defense-of-the-wordpress-theme-review-guidelines/ Theme Quality Editorial: http://www.chipbennett.net/2010/10/19/in-defense-of-the-wordpress-theme-review-process/ Theme Review Tutorial: http://www.chipbennett.net/2011/04/20/a-guide-to-reviewing-themes-for-the-wordpress-theme-repository/ Settings API Tutorial: http://www.chipbennett.net/2011/02/17/incorporating-the-settings-api-in-wordpress-themes/ 37 WordCamp Kansas City: 11 June 2011