How to Prepare and Submit Your Theme For the         WPORG Theme Repository                   (And get it approved!)   Chi...
How to Prepare and Submit Your Theme For theWPORG Theme RepositoryAudience     Developers   Themes intended to be hosted b...
Preparing a Theme for Public    Release                            Philosophy and considerations3             WordCamp St....
Preparing a Theme for Public ReleaseGeneral considerations for publicly released Themes  Design for universal use     ●   ...
Preparing a Theme for Public ReleaseGeneral considerations for publicly released Themes  Incorporate core functionality: d...
Preparing a Theme for Public ReleaseGeneral considerations for publicly released Themes  Plugin integration / graceful deg...
Preparing a Theme for Public ReleaseSpecific considerations for WPORG-hosted Themes  Check your motivation     ●         N...
Preparing a Theme for Public ReleaseSpecific considerations for WPORG-hosted Themes   Presentation vs. content     ●      ...
Preparing a Theme for Public ReleaseSpecific considerations for WPORG-hosted Themes     Child-Theme friendliness     ●    ...
Preparing a Theme for Public ReleaseSpecific considerations for WPORG-hosted Themes   UI Consistency      ●          Setti...
Pre-Submission Theme Testing     Testing your Theme against WPORG Theme Review                          Guidelines before ...
Pre-Submission Theme TestingSetting Up A Test Environment      Clean WordPress Install, plus Plugins      ●          Theme...
Pre-Submission Theme TestingTesting Process   Guide:      http://www.chipbennett.net/2011/04/20/a-guide-to-reviewing-theme...
WPORG Theme Submission/Review/Approval Process                         How it works and what to expect14            WordCa...
WPORG Theme Submission/Review/ApprovalResources      WordPress.org Theme Uploader      Themes Subversion (SVN)      Themes...
WPORG Theme Submission/Review/Approval:ResourcesWordPress.org Theme Uploader      Only way to submit Theme to the      Rep...
WPORG Theme Submission/Review/Approval:ResourcesThemes SVN      Where uploaded Theme files are      stored, after the Them...
WPORG Theme Submission/Review/Approval:ResourcesThemes-Trac      Theme Review ticketing/tracking      system      Uploader...
WPORG Theme Submission/Review/Approval:ResourcesWordPress.org Extend/Themes      Front-end for access/download of      Rep...
WPORG Theme Submission/Review/Approval:ResourcesWordPress Theme Review Team (WPTRT)      Who are they?      ●        All-v...
WPORG Theme Submission/Review/Approval:ProcessPrepare/Upload Theme (Developer)      Remove any extraneous files      ●    ...
WPORG Theme Submission/Review/Approval:ProcessTheme Review/Approval (WPTRT reviewers)     A WPTRT Reviewer assigns himself...
WPORG Theme Submission/Review/Approval:ProcessSynchronize SVN with Extend (WPTRT admins)      When a Trac ticket is closed...
Getting Your Theme Approved               Tips, tricks, and practical suggestions24        WordCamp St. Louis: 06 August 2...
Getting Your Theme ApprovedWhile developing your Theme      Don’t fork Kubrick/Default/Classic!      Identify (and documen...
Recap                                 Whew! That was a lot!26       WordCamp St. Louis: 06 August 2011
The WordPress Theme RepositoryRecap:      Preparing a Theme for public release      Pre-Submission Theme Testing      WPOR...
Feedback     You’ve heard from me; now I want to hear from you28            WordCamp St. Louis: 06 August 2011
The WordPress Theme RepositoryOpen Forum      Feedback, criticism, and ideas for the WordPress Theme Repository:      ●   ...
Resources     Sites and information referenced, and further reading30              WordCamp St. Louis: 06 August 2011
The WordPress Theme RepositoryResources   Theme Development/Testing   ●   Theme Review Guidelines: http://codex.wordpress....
Upcoming SlideShare
Loading in...5
×

WordCamp STL: How To Prepare and Submit Your Theme to the WPORG Theme REpository (and get it approved)

4,337

Published on

Published in: Technology, Business
1 Comment
5 Likes
Statistics
Notes
No Downloads
Views
Total Views
4,337
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
25
Comments
1
Likes
5
Embeds 0
No embeds

No notes for slide

WordCamp STL: How To Prepare and Submit Your Theme to the WPORG Theme REpository (and get it approved)

  1. 1. How to Prepare and Submit Your Theme For the WPORG Theme Repository (And get it approved!) Chip Bennett, WordCamp St. Louis, 06 August 2011 @chip_bennett
  2. 2. How to Prepare and Submit Your Theme For theWPORG Theme RepositoryAudience Developers Themes intended to be hosted by WPORGAgenda Preparing a Theme for public release Pre-Submission Theme Testing WPORG Theme Submission/Review/Approval Getting your Theme approvedRelated Preparing a Theme for Public Release, David Yeiser (@davidyeiser): http://www.slideshare.net/davidyeiser/how-to-prepare-a-wordpress-theme-for-public-release Theming for the Masses, Michael Fields (@_mfields): http://www.slideshare.net/MichaelFields/theming-for-the-masses 2 WordCamp St. Louis: 06 August 2011
  3. 3. Preparing a Theme for Public Release Philosophy and considerations3 WordCamp St. Louis: 06 August 2011
  4. 4. Preparing a Theme for Public ReleaseGeneral considerations for publicly released Themes Design for universal use ● Site title/description ● Navigation/menus ● Hard-coded vs. configurable ● Social network links, favicons, copyright statements ● Core post types, taxonomies ● Custom post types, taxonomies ● Filtering core content ● Enqueueing scripts/stylesheets Ranges vs. edge cases 4 WordCamp St. Louis: 06 August 2011
  5. 5. Preparing a Theme for Public ReleaseGeneral considerations for publicly released Themes Incorporate core functionality: don’t re-invent the wheel ● Custom Header/Background ● Navigation Menus ● Post Thumbnails ● Post Formats ● Gallery posts, Aside posts, etc. Use core APIs wherever possible ● Hooks API ● Settings/Options/Theme Mods APIs ● Widgets API 5 WordCamp St. Louis: 06 August 2011
  6. 6. Preparing a Theme for Public ReleaseGeneral considerations for publicly released Themes Plugin integration / graceful degradation ● Breadcrumb navigation, paginated navigation ● Provide fallback: – if ( function_exists( ‘plugin_function’ ) { plugin_function(); } else { // fallback functionality } ● Remember content vs. presentation Failure modes for integrated features ● Navigation Menus: items, hierarchy depth, fallback output ● Overflow: site title/description, content width 6 WordCamp St. Louis: 06 August 2011
  7. 7. Preparing a Theme for Public ReleaseSpecific considerations for WPORG-hosted Themes Check your motivation ● Not wanted: – Non-free code of any kind – Unoriginal Themes only intended to generate backlinks – Sponsored/Spam links – Up-selling a commercial Theme via cripple-ware ● Wanted: – Giving back to the WordPress community – New developers working into the WordPress ecosystem – Showcasing unique/original/innovative design and functionality License ● 100% GPL-compatible ● Up-sell Themes must also be 100% GPL-compatible 7 WordCamp St. Louis: 06 August 2011
  8. 8. Preparing a Theme for Public ReleaseSpecific considerations for WPORG-hosted Themes Presentation vs. content ● Plugin Territory – Adding/modifying content – Shortcodes ● Custom Post Types/Taxonomies – Theme lock-in – Consider companion Plugin ● Exception? – Niche Themes 8 WordCamp St. Louis: 06 August 2011
  9. 9. Preparing a Theme for Public ReleaseSpecific considerations for WPORG-hosted Themes Child-Theme friendliness ● Bad: – Using get_template_directory_*() everywhere – Using few template files/no template-part files/no context ● Good: – Proper use of get_template_directory_*() / get_stylesheet_directory_*() ● Better: – Pluggable (override-able) functions – Using get_template_part( $file, $context) ● Best: – Functions hooked via add_action() – Content filtered via add_filter() ● Above and beyond: – Custom hooks 9 WordCamp St. Louis: 06 August 2011
  10. 10. Preparing a Theme for Public ReleaseSpecific considerations for WPORG-hosted Themes UI Consistency ● Settings Page UI ● Core-bundled scripts (e.g. jQuery) Implementation assumptions ● Document, document, document! ● Include a readme.txt (or equivalent) Future-proofing your code ● Pay attention to function deprecation ● Use core functions/template tags – get_search_form() – Settings API 10 WordCamp St. Louis: 06 August 2011
  11. 11. Pre-Submission Theme Testing Testing your Theme against WPORG Theme Review Guidelines before submission11 WordCamp St. Louis: 06 August 2011
  12. 12. Pre-Submission Theme TestingSetting Up A Test Environment Clean WordPress Install, plus Plugins ● Theme Check, Log Deprecated Notices, Debug Bar, Debug Bar Extender, Debogger, FixPress, WordPress Beta Tester WordPress settings and Theme Mods ● wp-config.php: define( ‘WP_DEBUG’, true ) ● Settings: – General (Site Title, Tagline), Reading (# Posts per page) – Discussion (Threaded comments, Depth, # Comments per page) – Media (defaults), Permalinks (Pretty) ● Create custom menus (long, short) Theme Unit Test Data ● Install latest test data from the Codex – Check for updates periodically 12 WordCamp St. Louis: 06 August 2011
  13. 13. Pre-Submission Theme TestingTesting Process Guide: http://www.chipbennett.net/2011/04/20/a-guide-to-reviewing-themes-for-the-wordpress-theme-repository/ Policy Requirements: ● License, Credit Links, Theme Name, Screenshot Automated Tests: ● Theme Check, Log Deprecated Notices Code Quality ● HTML document head, scripts/stylesheets enqueued/hooked ● Template files, template tags, file includes ● functions.php Theme Unit Tests ● Activation tests/custom functionality ● Front-end tests 13 WordCamp St. Louis: 06 August 2011
  14. 14. WPORG Theme Submission/Review/Approval Process How it works and what to expect14 WordCamp St. Louis: 06 August 2011
  15. 15. WPORG Theme Submission/Review/ApprovalResources 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) 15 WordCamp St. Louis: 06 August 2011
  16. 16. WPORG Theme Submission/Review/Approval:ResourcesWordPress.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 16 WordCamp St. Louis: 06 August 2011
  17. 17. WPORG Theme Submission/Review/Approval:ResourcesThemes 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 17 WordCamp St. Louis: 06 August 2011
  18. 18. WPORG Theme Submission/Review/Approval:ResourcesThemes-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 18 WordCamp St. Louis: 06 August 2011
  19. 19. WPORG Theme Submission/Review/Approval:ResourcesWordPress.org Extend/Themes Front-end for access/download of Repository-hosted Themes Heavily-modded bbPress install Must be manually synchronized with SVN after Theme is approved in Trac 19 WordCamp St. Louis: 06 August 2011
  20. 20. WPORG Theme Submission/Review/Approval:ResourcesWordPress 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! 20 WordCamp St. Louis: 06 August 2011
  21. 21. WPORG Theme Submission/Review/Approval:ProcessPrepare/Upload Theme (Developer) Remove any extraneous files ● .git or .svn directories, MACOSX files, backup files, etc. Compress the Theme as a ZIP file ● Filename doesnt matter; it is re-packaged by SVN upon upload 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 21 WordCamp St. Louis: 06 August 2011
  22. 22. WPORG Theme Submission/Review/Approval:ProcessTheme 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”.22 WordCamp St. Louis: 06 August 2011
  23. 23. WPORG Theme Submission/Review/Approval:ProcessSynchronize 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 23 WordCamp St. Louis: 06 August 2011
  24. 24. Getting Your Theme Approved Tips, tricks, and practical suggestions24 WordCamp St. Louis: 06 August 2011
  25. 25. Getting Your Theme ApprovedWhile developing your Theme Don’t fork Kubrick/Default/Classic! Identify (and document) your assumptions If you have questions: Ask! ● Theme-Reviewers mail list, IRC, WPTRT WebsiteBefore you submit your Theme Pre-submission testing is critical Dry-run your Theme from the user’s perspective Volunteer to review other ThemesAfter you submit your Theme Interact in the Trac Ticket 25 WordCamp St. Louis: 06 August 2011
  26. 26. Recap Whew! That was a lot!26 WordCamp St. Louis: 06 August 2011
  27. 27. The WordPress Theme RepositoryRecap: Preparing a Theme for public release Pre-Submission Theme Testing WPORG Theme Submission/Review/Approval Getting your Theme approvedQuestions? 27 WordCamp St. Louis: 06 August 2011
  28. 28. Feedback You’ve heard from me; now I want to hear from you28 WordCamp St. Louis: 06 August 2011
  29. 29. The WordPress Theme RepositoryOpen Forum Feedback, criticism, and ideas for the WordPress Theme Repository: ● Theme Repository: – Theme Selection, – Theme Quality, – Child Themes/Theme Frameworks – etc. ● Theme Review – Submission/Review/Approval Process – Theme Review Guidelines 29 WordCamp St. Louis: 06 August 2011
  30. 30. Resources Sites and information referenced, and further reading30 WordCamp St. Louis: 06 August 2011
  31. 31. The WordPress Theme RepositoryResources Theme Development/Testing ● Theme Review Guidelines: http://codex.wordpress.org/Theme_Review ● Theme Unit Tests: http://codex.wordpress.org/Theme_Unit_Test ● Theme Review Setup: http://make.wordpress.org/themes/about/how-to-join-wptrt/ ● 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/ ● Guide: http://www.chipbennett.net/2011/04/20/a-guide-to-reviewing-themes-for-the-wordpress-theme-repository/ Theme Submission/Review ● Theme Uploader: http://wordpress.org/extend/themes/upload/ ● Themes SVN: http://themes.svn.wordpress.org/ ● Theme-Trac: https://themes.trac.wordpress.org/ WordPress Theme Review Team ● Theme-Reviewers Mail List: http://lists.wordpress.org/mailman/listinfo/theme-reviewers ● WPTRT: http://make.wordpress.org/themes/ ● More Resources: http://make.wordpress.org/themes/guidelines/resources/ Editorials/Tutorials ● Theme Review: http://www.chipbennett.net/2010/10/20/in-defense-of-the-wordpress-theme-review-guidelines/ ● Theme Quality: http://www.chipbennett.net/2010/10/19/in-defense-of-the-wordpress-theme-review-process/ ● Settings API: http://www.chipbennett.net/2011/02/17/incorporating-the-settings-api-in-wordpress-themes/ 31 WordCamp St. Louis: 06 August 2011
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×