The WordPress.com Public Theme Guide

wpcom-theme-guidelines

They say Valentine’s Day is all about love. Well, the thing I love the most about working on the Theme Team at Automattic is the attention to detail that goes into each theme launch. There is an inital build process followed by a series of peer reviews. More times than not a theme will be put under the microscope of 2, 3, or sometimes 4 different team members before launch. The sheer number of things that can potentially go awry in a theme can be overwhelming at times. This review process allows us to catch as many bugs as possible before people start using our themes.

Our peer reviews focus on a mixture of three areas: code quality, usability, and discovery of theme-specific anomalies. Over the years, our review process has grown organically. When we discover a new issue we will generally post about it to an internal P2-powered website for team discussion. While this process works really well, it can be a bit time-consuming to navigate through three years’ worth of posts to find an isolated conversation about a particular issue.

Recently, we thought it was a good idea to collect all of our theme guidelines and create an easy-to-follow resource. Instead of posting this internally, we decided that we would like to share our guidelines with theme developers everywhere. I would like to present to you the first installment of The WordPress.com Public Theme Guide. We hope that you get as much use out of this as we do!

Finding the Perfect Theme

Our very own Lance Willett spoke recently at WordCamp Phoenix about the art of finding the perfect theme:

Feel free to get started by checking out our latest four themes that were added to the WordPress.org theme repository: Forever, Vertigo, Reddle, and Quintus!

_s Version 1.3 Ready For Download

I’m happy to announce that _s 1.3 is ready for download on both Underscores.me and GitHub. The most notable changes introduced during the last two versions are basic support for Infinite Scroll, theme customizer integration, and additional Post Formats.

There was no blog post published for _s 1.2, so consider the following notes to be a brief overview of fixes and enhancements performed on _s since version 1.1:

Version 1.3:

- Basic support for Infinite Scroll (ref.)
– Add additional Post Formats into functions.php (ref.)
– Provide context for comments title strings (ref.)

The following files changed from Version 1.2 to Version 1.3:

404.php
README.md
comments.php
functions.php
image.php
inc/jetpack.php
inc/template-tags.php
style.css

You can also run the following command in Terminal to see a log of file changes between Version 1.2 and Version 1.3:

git diff --name-only 7b7489 f1e9b4

For a full log, visit the commit history page on GitHub.

Version 1.2:

- Theme customizer integration (ref.)
– Add folder into theme for translations and additional instructions into the readme.md file (ref.)

The following files changed from Version 1.1 to Version 1.2:

404.php
README.md
archive.php
comments.php
content-single.php
content.php
footer.php
functions.php
header.php
image.php
inc/custom-header.php
inc/customizer.php
inc/extras.php
inc/jetpack.php
inc/template-tags.php
inc/theme-options/theme-options.php
inc/tweaks.php
index.php
js/customizer.js
js/html5.js
languages/readme.txt
layouts/content-sidebar-sidebar.css
layouts/content-sidebar.css
layouts/sidebar-content-sidebar.css
layouts/sidebar-content.css
layouts/sidebar-sidebar-content.css
no-results.php
page.php
readme.txt
search.php
searchform.php
single.php
style.css

You can also run the following command in Terminal to see a log of file changes between Version 1.1 and Version 1.2:

git diff --name-only f1e9b4 175ef5

For a full _s commit log, visit the commit history page on GitHub.

There are open issues that we’d like to revisit for _s 1.4, namely post format archive labeling (ref.) and a load of other Open Issues.

Please jump into the ongoing discussions on GitHub and if there’s an issue with _s that has not been raised yet, feel free to open it up.

Theme Standards

There was some confusion on WP Daily the other day about Obox, ThemeForest, GPL, and WordPress.com. It was disappointing to read since we’ve always been very open about our standards for WordPress theme licensing; 100% GPL for every thing, every time. It’s pretty easy to understand and it’s the only way to really have an open source theme that protects user freedoms. As I posted about recently, what’s been difficult to understand has been Envato’s license. Unfortunately, and just as disappointing, Obox has been caught up in this. Obox sells their themes on ThemeForest and have been trying to sell their themes in the only really correct way — with a GPL compatible license for everything. Since it looks like this won’t be corrected right away, as of yesterday we’ve removed Obox themes from our WordPress.com Premium Theme Marketplace.

Obox is a terrific company and I hope this is temporary. We’ve had a great relationship that should continue. That relationship — and the one we have with all of our Premium Theme partners — is a good example of our team goals. If you’ve never read our Theme Team goals I’d like to point out a couple of them.

We will teach WordPress developers to become the best theme developers in the world. If you’re a WordPress theme developer—commercial or 100% free—we want to help you be the best.

We will ensure all our improvements make it back to the open source community.

We’re very serious about these goals and very proud of how these work out with our Premium Theme partners. The reviews we’ve done of the themes in our marketplace have been referred to as “Epic” more than once and I understand that they’ve become somewhat legendary. We love hearing that. A considerable investment of time is put into every theme review and every premium theme launch on WordPress.com. Our hope is not just that our partners benefit from this investment but that the whole WordPress community benefits.

So, as I’ve said this is disappointing. One day — hopefully soon if Envato can correct their licensing problem right away — we’ll have Obox back. That won’t be just a benefit for us, Obox, or Envato. It’ll be a boon to the whole WordPress community.

Envato’s License Changes For The Worse

envato-license

There’s been a lot of talk lately about ThemeForest, Envato, WordCamps, and the GPL. I’ve been paying close attention because, you know, themes. I love them. I think they’re a huge part of the WordPress mission to democratize publishing and I think the good ones are making the world a more beautiful and better place. I also think they should be free, open source software — the whole deal, CSS, images and all — just like WordPress. Try deleting all the CSS and images from your favorite theme and from WordPress. It’ll help you understand why, while technically theme authors don’t have to let you fully own those things, they really shouldn’t be taking that freedom away from you and locking them down. This is one of the core values of WordPress and fundamental to the market in which people develop and sell themes.

Anyway, other people have made this point more eloquently than me. What I really want to talk about is a change in the Envato license that no one is really talking about. That is, the recent Marketplace License Updates and how it affects WordPress theme licensing on ThemeForest.

Continue reading

Getting Excited About Edge Code

Last night Adobe’s Create The Web Tour rolled into Portland, Oregon and I attended. The night consisted of two presentations highlighting the new tools that Adobe has developed for creating the web. Of the many tools demonstrated, Edge Code really made an impression. It looks a bit like this:

edge-code

In the past, I’ve used a grip of opensource text editors. My favorite has always been Notepad++. While I am free to modify and redistribute the code under the GPL license, I never have for one very important reason: I have no idea how to. Notepad++, like many other text editors, is written in a language I do not understand. This is where Edge Code is a bit different.

Edge Code is a distribution of Brackets which is available under the MIT license and is written in html, css, and javascript. Three technolgies that I can read and write. This is pretty exciting; I’ve always wanted to be able to edit my editor and now I can!

This is only one of the many neat features of Edge Code. It also syncs with your browser so you can see your changes in real time. It understands the relationships between html and css, allowing you to edit your stylesheet directly from an html document. It’s great to see inovations like these being developed for those of use who build the web.

I’m going to install Edge Code today with the hope that I can introduce it into my daily work flow. Have you tried it yet? If so, please leave a comment and let us know what you think about it.

Custom Background & Custom Header

With the templates and CSS in place, let’s round off our theme building by adding a way for visitors to add a personal touch with their own Custom Backgrounds and Custom Headers.

I recommend adding support for these features after you’ve completed the CSS for your theme. It’s faster this way, because you can make the preview of the Custom Header and match your theme’s design. Plus, it’s easier to test the implementation of both backgrounds and headers when your design is complete. Think of them as the final flourish for your theme!

Please Note: The examples in this lesson are based on the design of the Shape Sample Stylesheet from the CSS lesson. If you want your header styles to look like those in the screenshots in this lesson, you’ll need to replace the styles in your current style.css with those from download.

Continue reading