SlideShare a Scribd company logo
1 of 31
Download to read offline
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 the
WPORG Theme Repository
Audience
     Developers
   Themes intended to be hosted by WPORG
Agenda
     Preparing a Theme for public release
     Pre-Submission Theme Testing
     WPORG Theme Submission/Review/Approval
     Getting your Theme approved
Related
     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 considerations




3             WordCamp St. Louis: 06 August 2011
Preparing a Theme for Public Release
General 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 Release
General 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 Release
General 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 Release
Specific 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 Release
Specific 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 Release
Specific 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 Release
Specific 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 submission




11             WordCamp St. Louis: 06 August 2011
Pre-Submission Theme Testing
Setting 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 Testing
Testing 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 expect




14            WordCamp St. Louis: 06 August 2011
WPORG Theme Submission/Review/Approval
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)




 15                        WordCamp St. Louis: 06 August 2011
WPORG Theme Submission/Review/Approval:
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




 16                         WordCamp St. Louis: 06 August 2011
WPORG Theme Submission/Review/Approval:
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




 17                          WordCamp St. Louis: 06 August 2011
WPORG Theme Submission/Review/Approval:
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




 18                        WordCamp St. Louis: 06 August 2011
WPORG Theme Submission/Review/Approval:
Resources
WordPress.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:
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!



 20                         WordCamp St. Louis: 06 August 2011
WPORG Theme Submission/Review/Approval:
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
          ●
              Filename doesn't 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:
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”.



22                        WordCamp St. Louis: 06 August 2011
WPORG Theme Submission/Review/Approval:
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



 23                        WordCamp St. Louis: 06 August 2011
Getting Your Theme Approved

               Tips, tricks, and practical suggestions




24        WordCamp St. Louis: 06 August 2011
Getting Your Theme Approved
While 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 Website
Before you submit your Theme
      Pre-submission testing is critical
      Dry-run your Theme from the user’s perspective
      Volunteer to review other Themes
After 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 Repository
Recap:
      Preparing a Theme for public release
      Pre-Submission Theme Testing
      WPORG Theme Submission/Review/Approval
      Getting your Theme approved
Questions?




 27                         WordCamp St. Louis: 06 August 2011
Feedback

     You’ve heard from me; now I want to hear from you




28            WordCamp St. Louis: 06 August 2011
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 Review
         – Submission/Review/Approval Process
         – Theme Review Guidelines




 29                        WordCamp St. Louis: 06 August 2011
Resources

     Sites and information referenced, and further reading




30              WordCamp St. Louis: 06 August 2011
The WordPress Theme Repository
Resources
   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

More Related Content

What's hot

Pat Farrell, Migrating Legacy Documentation to XML and DITA
Pat Farrell, Migrating Legacy Documentation to XML and DITAPat Farrell, Migrating Legacy Documentation to XML and DITA
Pat Farrell, Migrating Legacy Documentation to XML and DITAfarrelldoc
Β 
Preventing Drupal Headaches: Content Type Checklist
Preventing Drupal Headaches: Content Type ChecklistPreventing Drupal Headaches: Content Type Checklist
Preventing Drupal Headaches: Content Type ChecklistAcquia
Β 
Keeping Your Themes and Plugins Organized.
Keeping Your Themes and Plugins Organized.Keeping Your Themes and Plugins Organized.
Keeping Your Themes and Plugins Organized.Jacob Martella
Β 
Grok Drupal (7) Theming (presented at DrupalCon San Francisco)
Grok Drupal (7) Theming (presented at DrupalCon San Francisco)Grok Drupal (7) Theming (presented at DrupalCon San Francisco)
Grok Drupal (7) Theming (presented at DrupalCon San Francisco)Laura Scott
Β 
Firstborn child theme word camp presentation - atlanta 2013
Firstborn child theme   word camp presentation - atlanta 2013Firstborn child theme   word camp presentation - atlanta 2013
Firstborn child theme word camp presentation - atlanta 2013Evan Mullins
Β 
Theme development essentials columbus oh word camp 2012
Theme development essentials   columbus oh word camp 2012Theme development essentials   columbus oh word camp 2012
Theme development essentials columbus oh word camp 2012Joe Querin
Β 
WP Joburg Meetup 10: Genesis Framework by Trish Cornelius
WP Joburg Meetup 10: Genesis Framework by Trish CorneliusWP Joburg Meetup 10: Genesis Framework by Trish Cornelius
WP Joburg Meetup 10: Genesis Framework by Trish CorneliusWPJoburg
Β 
Beyond WP-CONTENT | #WCRaleigh
Beyond WP-CONTENT | #WCRaleighBeyond WP-CONTENT | #WCRaleigh
Beyond WP-CONTENT | #WCRaleighGlenn Ansley
Β 
DITA Quick Start
DITA Quick StartDITA Quick Start
DITA Quick StartSelvakumar T S
Β 
Intro To WordPress Themes
Intro To WordPress ThemesIntro To WordPress Themes
Intro To WordPress Themesdamonsharp
Β 
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...LinnAlexandra
Β 
Builing a WordPress Theme
Builing a WordPress ThemeBuiling a WordPress Theme
Builing a WordPress Themecertainstrings
Β 
Hello Drupal
Hello DrupalHello Drupal
Hello Drupalhellodrupal
Β 
There's No Crying In Wordpress! (an intro to WP)
There's No Crying In Wordpress! (an intro to WP)There's No Crying In Wordpress! (an intro to WP)
There's No Crying In Wordpress! (an intro to WP)Grace Solivan
Β 
DITA Quick Start: System Architecture of a Basic DITA Toolset
DITA Quick Start: System Architecture of a Basic DITA ToolsetDITA Quick Start: System Architecture of a Basic DITA Toolset
DITA Quick Start: System Architecture of a Basic DITA ToolsetSuite Solutions
Β 
2 Training on webwroks for Word
2 Training on webwroks for Word2 Training on webwroks for Word
2 Training on webwroks for Wordsumeettechno
Β 

What's hot (16)

Pat Farrell, Migrating Legacy Documentation to XML and DITA
Pat Farrell, Migrating Legacy Documentation to XML and DITAPat Farrell, Migrating Legacy Documentation to XML and DITA
Pat Farrell, Migrating Legacy Documentation to XML and DITA
Β 
Preventing Drupal Headaches: Content Type Checklist
Preventing Drupal Headaches: Content Type ChecklistPreventing Drupal Headaches: Content Type Checklist
Preventing Drupal Headaches: Content Type Checklist
Β 
Keeping Your Themes and Plugins Organized.
Keeping Your Themes and Plugins Organized.Keeping Your Themes and Plugins Organized.
Keeping Your Themes and Plugins Organized.
Β 
Grok Drupal (7) Theming (presented at DrupalCon San Francisco)
Grok Drupal (7) Theming (presented at DrupalCon San Francisco)Grok Drupal (7) Theming (presented at DrupalCon San Francisco)
Grok Drupal (7) Theming (presented at DrupalCon San Francisco)
Β 
Firstborn child theme word camp presentation - atlanta 2013
Firstborn child theme   word camp presentation - atlanta 2013Firstborn child theme   word camp presentation - atlanta 2013
Firstborn child theme word camp presentation - atlanta 2013
Β 
Theme development essentials columbus oh word camp 2012
Theme development essentials   columbus oh word camp 2012Theme development essentials   columbus oh word camp 2012
Theme development essentials columbus oh word camp 2012
Β 
WP Joburg Meetup 10: Genesis Framework by Trish Cornelius
WP Joburg Meetup 10: Genesis Framework by Trish CorneliusWP Joburg Meetup 10: Genesis Framework by Trish Cornelius
WP Joburg Meetup 10: Genesis Framework by Trish Cornelius
Β 
Beyond WP-CONTENT | #WCRaleigh
Beyond WP-CONTENT | #WCRaleighBeyond WP-CONTENT | #WCRaleigh
Beyond WP-CONTENT | #WCRaleigh
Β 
DITA Quick Start
DITA Quick StartDITA Quick Start
DITA Quick Start
Β 
Intro To WordPress Themes
Intro To WordPress ThemesIntro To WordPress Themes
Intro To WordPress Themes
Β 
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Don't Fear the Custom Theme: How to build a custom WordPress theme with only ...
Β 
Builing a WordPress Theme
Builing a WordPress ThemeBuiling a WordPress Theme
Builing a WordPress Theme
Β 
Hello Drupal
Hello DrupalHello Drupal
Hello Drupal
Β 
There's No Crying In Wordpress! (an intro to WP)
There's No Crying In Wordpress! (an intro to WP)There's No Crying In Wordpress! (an intro to WP)
There's No Crying In Wordpress! (an intro to WP)
Β 
DITA Quick Start: System Architecture of a Basic DITA Toolset
DITA Quick Start: System Architecture of a Basic DITA ToolsetDITA Quick Start: System Architecture of a Basic DITA Toolset
DITA Quick Start: System Architecture of a Basic DITA Toolset
Β 
2 Training on webwroks for Word
2 Training on webwroks for Word2 Training on webwroks for Word
2 Training on webwroks for Word
Β 

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

Week 11 - Hosting and Migration
Week 11 - Hosting and MigrationWeek 11 - Hosting and Migration
Week 11 - Hosting and Migrationhenri_makembe
Β 
From WordPress With Love
From WordPress With LoveFrom WordPress With Love
From WordPress With LoveUp2 Technology
Β 
Bootstrap4 x pages
Bootstrap4 x pagesBootstrap4 x pages
Bootstrap4 x pagesPhilippe Riand
Β 
Week6 office-hours
Week6 office-hoursWeek6 office-hours
Week6 office-hoursRandall Rode
Β 
Plugin development demystified 2017
Plugin development demystified 2017Plugin development demystified 2017
Plugin development demystified 2017ylefebvre
Β 
Contributing to Apache Airflow | Journey to becoming Airflow's leading contri...
Contributing to Apache Airflow | Journey to becoming Airflow's leading contri...Contributing to Apache Airflow | Journey to becoming Airflow's leading contri...
Contributing to Apache Airflow | Journey to becoming Airflow's leading contri...Kaxil Naik
Β 
Beginning WordPress Workshop
Beginning WordPress WorkshopBeginning WordPress Workshop
Beginning WordPress WorkshopThe Toolbox, Inc.
Β 
Guidelines for Working with Contract Developers in Evergreen
Guidelines for Working with Contract Developers in EvergreenGuidelines for Working with Contract Developers in Evergreen
Guidelines for Working with Contract Developers in Evergreenloriayre
Β 
15 Essential WordPress Plugins
15 Essential WordPress Plugins15 Essential WordPress Plugins
15 Essential WordPress PluginsMykl Roventine
Β 
Bootstrap4XPages webinar
Bootstrap4XPages webinarBootstrap4XPages webinar
Bootstrap4XPages webinarMark Leusink
Β 
Plugins: A double-edged sword
Plugins: A double-edged swordPlugins: A double-edged sword
Plugins: A double-edged swordylefebvre
Β 
Openoffice extensions and templates
Openoffice extensions and templatesOpenoffice extensions and templates
Openoffice extensions and templatesRoberto Galoppini
Β 
Google App Engine for Developers
Google App Engine for DevelopersGoogle App Engine for Developers
Google App Engine for DevelopersLynn Langit
Β 
WordPress: After The Install
WordPress: After The InstallWordPress: After The Install
WordPress: After The InstallWordPress NYC
Β 
Open Innovation Lab (OIL) - 2014 Sep 26th
Open Innovation Lab (OIL) - 2014 Sep 26thOpen Innovation Lab (OIL) - 2014 Sep 26th
Open Innovation Lab (OIL) - 2014 Sep 26thWong Hoi Sing Edison
Β 
Rapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for JavaRapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for JavaKunal Dabir
Β 
Hong Kong Drupal User Group - 2014 June 14th
Hong Kong Drupal User Group - 2014 June 14thHong Kong Drupal User Group - 2014 June 14th
Hong Kong Drupal User Group - 2014 June 14thWong Hoi Sing Edison
Β 
Massively maintained accessibility: WordPress
Massively maintained accessibility: WordPressMassively maintained accessibility: WordPress
Massively maintained accessibility: WordPressJoseph Dolson
Β 

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

Week 11 - Hosting and Migration
Week 11 - Hosting and MigrationWeek 11 - Hosting and Migration
Week 11 - Hosting and Migration
Β 
From WordPress With Love
From WordPress With LoveFrom WordPress With Love
From WordPress With Love
Β 
Bootstrap4 x pages
Bootstrap4 x pagesBootstrap4 x pages
Bootstrap4 x pages
Β 
Week6 office-hours
Week6 office-hoursWeek6 office-hours
Week6 office-hours
Β 
Drupal in-depth
Drupal in-depthDrupal in-depth
Drupal in-depth
Β 
Plugin development demystified 2017
Plugin development demystified 2017Plugin development demystified 2017
Plugin development demystified 2017
Β 
Contributing to Apache Airflow | Journey to becoming Airflow's leading contri...
Contributing to Apache Airflow | Journey to becoming Airflow's leading contri...Contributing to Apache Airflow | Journey to becoming Airflow's leading contri...
Contributing to Apache Airflow | Journey to becoming Airflow's leading contri...
Β 
Beginning WordPress Workshop
Beginning WordPress WorkshopBeginning WordPress Workshop
Beginning WordPress Workshop
Β 
Guidelines for Working with Contract Developers in Evergreen
Guidelines for Working with Contract Developers in EvergreenGuidelines for Working with Contract Developers in Evergreen
Guidelines for Working with Contract Developers in Evergreen
Β 
15 Essential WordPress Plugins
15 Essential WordPress Plugins15 Essential WordPress Plugins
15 Essential WordPress Plugins
Β 
Bootstrap4XPages webinar
Bootstrap4XPages webinarBootstrap4XPages webinar
Bootstrap4XPages webinar
Β 
Plugins: A double-edged sword
Plugins: A double-edged swordPlugins: A double-edged sword
Plugins: A double-edged sword
Β 
Openoffice extensions and templates
Openoffice extensions and templatesOpenoffice extensions and templates
Openoffice extensions and templates
Β 
Google App Engine for Developers
Google App Engine for DevelopersGoogle App Engine for Developers
Google App Engine for Developers
Β 
WordPress: After The Install
WordPress: After The InstallWordPress: After The Install
WordPress: After The Install
Β 
Open Innovation Lab (OIL) - 2014 Sep 26th
Open Innovation Lab (OIL) - 2014 Sep 26thOpen Innovation Lab (OIL) - 2014 Sep 26th
Open Innovation Lab (OIL) - 2014 Sep 26th
Β 
Rapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for JavaRapid Application Development on Google App Engine for Java
Rapid Application Development on Google App Engine for Java
Β 
Hong Kong Drupal User Group - 2014 June 14th
Hong Kong Drupal User Group - 2014 June 14thHong Kong Drupal User Group - 2014 June 14th
Hong Kong Drupal User Group - 2014 June 14th
Β 
Massively maintained accessibility: WordPress
Massively maintained accessibility: WordPressMassively maintained accessibility: WordPress
Massively maintained accessibility: WordPress
Β 
It4k12 wordpress
It4k12 wordpressIt4k12 wordpress
It4k12 wordpress
Β 

Recently uploaded

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
Β 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
Β 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
Β 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
Β 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Enterprise Knowledge
Β 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDGMarianaLemus7
Β 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
Β 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
Β 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
Β 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
Β 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
Β 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
Β 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...shyamraj55
Β 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
Β 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraDeakin University
Β 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
Β 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
Β 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024BookNet Canada
Β 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
Β 

Recently uploaded (20)

Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
Β 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Β 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Β 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
Β 
Hot Sexy call girls in Panjabi Bagh πŸ” 9953056974 πŸ” Delhi escort Service
Hot Sexy call girls in Panjabi Bagh πŸ” 9953056974 πŸ” Delhi escort ServiceHot Sexy call girls in Panjabi Bagh πŸ” 9953056974 πŸ” Delhi escort Service
Hot Sexy call girls in Panjabi Bagh πŸ” 9953056974 πŸ” Delhi escort Service
Β 
Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024Designing IA for AI - Information Architecture Conference 2024
Designing IA for AI - Information Architecture Conference 2024
Β 
APIForce Zurich 5 April Automation LPDG
APIForce Zurich 5 April  Automation LPDGAPIForce Zurich 5 April  Automation LPDG
APIForce Zurich 5 April Automation LPDG
Β 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
Β 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
Β 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
Β 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
Β 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
Β 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
Β 
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Automating Business Process via MuleSoft Composer | Bangalore MuleSoft Meetup...
Β 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
Β 
Artificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning eraArtificial intelligence in the post-deep learning era
Artificial intelligence in the post-deep learning era
Β 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
Β 
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Β 
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
New from BookNet Canada for 2024: BNC BiblioShare - Tech Forum 2024
Β 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
Β 

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

  • 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. How to Prepare and Submit Your Theme For the WPORG Theme Repository Audience Developers Themes intended to be hosted by WPORG Agenda Preparing a Theme for public release Pre-Submission Theme Testing WPORG Theme Submission/Review/Approval Getting your Theme approved Related 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. Preparing a Theme for Public Release Philosophy and considerations 3 WordCamp St. Louis: 06 August 2011
  • 4. Preparing a Theme for Public Release General 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. Preparing a Theme for Public Release General 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. Preparing a Theme for Public Release General 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. Preparing a Theme for Public Release Specific 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. Preparing a Theme for Public Release Specific 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. Preparing a Theme for Public Release Specific 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. Preparing a Theme for Public Release Specific 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. Pre-Submission Theme Testing Testing your Theme against WPORG Theme Review Guidelines before submission 11 WordCamp St. Louis: 06 August 2011
  • 12. Pre-Submission Theme Testing Setting 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. Pre-Submission Theme Testing Testing 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. WPORG Theme Submission/Review/Approval Process How it works and what to expect 14 WordCamp St. Louis: 06 August 2011
  • 15. WPORG Theme Submission/Review/Approval 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) 15 WordCamp St. Louis: 06 August 2011
  • 16. WPORG Theme Submission/Review/Approval: 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 16 WordCamp St. Louis: 06 August 2011
  • 17. WPORG Theme Submission/Review/Approval: 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 17 WordCamp St. Louis: 06 August 2011
  • 18. WPORG Theme Submission/Review/Approval: 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 18 WordCamp St. Louis: 06 August 2011
  • 19. WPORG Theme Submission/Review/Approval: Resources WordPress.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. WPORG Theme Submission/Review/Approval: 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! 20 WordCamp St. Louis: 06 August 2011
  • 21. WPORG Theme Submission/Review/Approval: 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 ● Filename doesn't 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. WPORG Theme Submission/Review/Approval: 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”. 22 WordCamp St. Louis: 06 August 2011
  • 23. WPORG Theme Submission/Review/Approval: 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 23 WordCamp St. Louis: 06 August 2011
  • 24. Getting Your Theme Approved Tips, tricks, and practical suggestions 24 WordCamp St. Louis: 06 August 2011
  • 25. Getting Your Theme Approved While 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 Website Before you submit your Theme Pre-submission testing is critical Dry-run your Theme from the user’s perspective Volunteer to review other Themes After you submit your Theme Interact in the Trac Ticket 25 WordCamp St. Louis: 06 August 2011
  • 26. Recap Whew! That was a lot! 26 WordCamp St. Louis: 06 August 2011
  • 27. The WordPress Theme Repository Recap: Preparing a Theme for public release Pre-Submission Theme Testing WPORG Theme Submission/Review/Approval Getting your Theme approved Questions? 27 WordCamp St. Louis: 06 August 2011
  • 28. Feedback You’ve heard from me; now I want to hear from you 28 WordCamp St. Louis: 06 August 2011
  • 29. 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 Review – Submission/Review/Approval Process – Theme Review Guidelines 29 WordCamp St. Louis: 06 August 2011
  • 30. Resources Sites and information referenced, and further reading 30 WordCamp St. Louis: 06 August 2011
  • 31. The WordPress Theme Repository Resources 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