WordCamp KC: The WordPress Theme Repository

Post on 08-May-2015

4.899 views 1 download

description

As with everything I do WordPress-related, you may use, modify, and redistribute this work under the terms of the GPLv2 (or at your option, any later version).

Transcript of WordCamp KC: The WordPress Theme Repository

The WordPress Theme Repository

Chip Bennett, WordCamp Kansas City, 11 June 2011

Developing, submitting, and finding the best free WordPress Themes

WordCamp Kansas City: 11 June 2011

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

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

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

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

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!

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!

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

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

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:1. Licensing, Credit Links, and Security2. Code and Markup Standards Compliance and Best Practices3. WordPress Functionality and Feature Support4. WordPress Best Practices5. Theme Front-End Display

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)

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

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

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

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

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

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)

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

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

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

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-modded bbPress install

Must be manually synchronized with SVN after Theme is approved in Trac

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!

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

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”.

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

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

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

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

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

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)

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

WordCamp Kansas City: 11 June 2011

32

Recap

Whew! That was a lot!

WordCamp Kansas City: 11 June 2011

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?

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

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

WordCamp Kansas City: 11 June 2011

36

Resources

Sites and information referenced, and further reading

WordCamp Kansas City: 11 June 2011

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/