At Automattic, we exclusively use the Customizer for theme options instead of theme option pages. We believe that themes should only alter the display of content and should not add any additional functionality that would be better suited for a plugin. Since all options are presentation centered, they should all be controllable by the Customizer.
Review is a key part of Theme Wrangling, so we spend a lot of time looking “under the hood” at themes. Here are some of most common theme development errors that come up in the review process, and some tips on how to avoid them.
Looking for a better way to manage featured posts from theme to theme? Kirk Wight has a great post explaining how to use Jetpack Featured Content in your theme.
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!
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:
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.
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.
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.
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.
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.
You’ve created an amazing theme and now you want to share it with the rest of the WordPress community. In this lesson, we’ll walk through the best practices to follow when preparing your theme for distribution.
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!
CSS can be tricky. It can also be incredibly easy. I had a lot of help getting my head wrapped around CSS when I was first starting out and I take great pleasure in helping others the same way I was first helped: with solid code examples to learn from.