WordCamp STL: How To Prepare and Submit Your Theme to the WPORG Theme REpository (and get it approved)
Upcoming SlideShare
Loading in...5
×
 

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

on

  • 3,970 views

 

Statistics

Views

Total Views
3,970
Views on SlideShare
3,908
Embed Views
62

Actions

Likes
5
Downloads
25
Comments
1

5 Embeds 62

http://devwp.eu 52
http://feeds.feedburner.com 4
http://twitter.com 3
https://twitter.com 2
http://avielmed 1

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution-ShareAlike LicenseCC Attribution-ShareAlike License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

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

  • 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
  • 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
  • Preparing a Theme for Public Release Philosophy and considerations3 WordCamp St. Louis: 06 August 2011
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • Pre-Submission Theme Testing Testing your Theme against WPORG Theme Review Guidelines before submission11 WordCamp St. Louis: 06 August 2011
  • 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
  • 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
  • WPORG Theme Submission/Review/Approval Process How it works and what to expect14 WordCamp St. Louis: 06 August 2011
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • Getting Your Theme Approved Tips, tricks, and practical suggestions24 WordCamp St. Louis: 06 August 2011
  • 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
  • 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 WPORG Theme Submission/Review/Approval Getting your Theme approvedQuestions? 27 WordCamp St. Louis: 06 August 2011
  • 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: ● 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
  • 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.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