Sundance — a brand new free video theme brought to you by the team here at Automattic is now available in the official WordPress Themes Directory.
If you’re reading this there’s a good chance you’re a WordPress theme aficionado, a true connoisseur. I’d like to know: how does a devourer of WordPress themes, like you, fulfill your massive appetite for awesome new themes?
For my cravings, I generally partake in the following (most common at the top):
- I find out by word of mouth, from my colleagues at work.
- Via Twitter, from the theme designers and theme shops I follow closely.
- By way of the Extend free themes directory RSS feed (I then go preview each one immediately).
- Reading reviews on sites like WPCandy, WPTavern, Smashing Magazine, or Weblog Tools Collection.
- By checking the Commercial listing on Extend often, to discover theme shops, from time to time.
- Rarely, I will use visual theme sorting services like the Theme Finder or ThemeSorter.
And in case your answers are different, where would you send someone to look for great WordPress themes who is not a theme junkie? Your family, friends, clients, a non-WordPress expert who asks your advice.
My coworkers at Automattic and I frequently discuss the speed with which we’re able to onboard new themes into the WordPress.com theme directory.
Our top priority as the Theme Team is to make sure that all of our users feel like they have a theme that fits them perfectly; in order to meet that goal we’re focused on bringing a variety of themes into WordPress.com through a few primary channels: the WordPress.org theme directory; premium theme shops; and Automattic (in-house) themes.
It’s often the case that each conversion—that is, making a theme’s code WordPress.com-safe and ready—will take us anywhere between one week and one month, depending on the complexity and quality of the code. In a perfect world, though, we’d be able to snap our fingers and have every single awesome-looking theme available on WP.com right now.
Have you checked out the Toolbox theme? Up until recently it was the starter theme we used to build free and premium themes on WordPress.com. Toolbox was (and is!) a great theme, but it could be better. Unfortunately, we wound up in a situation with Toolbox where we wanted to make some more drastic improvements to it as a starter theme but got a little stuck. We had people using it as a Parent Theme and that meant that the simplest id or class change could become a problem. Simply changing an id of
#masthead in the template is enough to break most CSS.
And there were other more beneficial but potentially more disruptive changes we thought would be great to add to it. Changes like better starter styles, including a generic framework for adding your own responsive CSS; a script for elegantly handling menus on small screens; and easy-to-rework sample theme options. And whole lot more. The sort of things we found ourselves adding to 80% of the themes we were building. You know, the sort of things that you really need in a starter theme.
So, we forked Toolbox — don’t worry it’s still being updated — and made a better, faster, stronger, starter theme. A developer-only theme that gives us the freedom — us being the WordPress.com Theme Team — to iterate with abandon on the idea of WordPress starter themes. Since that theme underscores the new themes we build we call it the Underscores Theme, or
_s for short.
And it’s pretty darn awesome.
For the 3.4 release cycle the core WordPress team is trying something new: assigning small teams to tackle various parts of the release. The Twenty Twelve team is Matt Mullenweg (Holder of the Keys and Grand Master Themengineer), Drew Strojny (Designer and Minimalist), and Lance Willett (Thematurge).
We’re super excited to see it land in WordPress trunk and start taking shape.
Dusk To Dawn — a dark theme that melds old-style organic ornaments with modern design and typography, originally developed exclusively for WordPress.com and it’s received great positive feedback — is now available in the official WordPress Themes Directory.
Parament — a great all-purpose theme developed exclusively for WordPress.com — is now available for use on self-hosted installations of WordPress. You can download it from the official WordPress Themes Directory.
Hey there, WordPress theme developers. When you’re crafting themes, are you checking the quality of your theme code? The design is important, yes, but so is the code. Within the past year, the WordPress theme review team has been hard at work encouraging best coding practices among WordPress theme developers, with the goal of raising the overall standard of the themes that appear in the WordPress.org theme repository. Even if you don’t intend to submit your theme to the WordPress.org theme repository, it’s wise to develop your themes as though that was your intention. I hope that by the end of this post, you’ll have a better understanding of the benefits of doing so.
The WordPress Theme Review Team and its guidelines
Just in case this is the first time you’ve heard of the theme review team, I’ll describe it briefly. They’re a group of volunteers from the WordPress community that reviews each theme that is submitted to the WordPress.org theme repository to check for compliance with the guidelines and standards that they have set forth. I’m not going to list all of the guidelines here because you can read them at the theme review team’s website, but I do wish to highlight a few here because they’re especially relevant to coding practices:
Briefly, a description of each of the above:
The Theme Check plugin
This is a plugin that tests your theme to see if it meets the latest theme review guidelines. If your theme is missing a required or recommended feature, or if it contains deprecated functions, the plugin will let you know and suggest possible fixes.
These are a general set of guidelines that specify how you should format the HTML, CSS, and PHP in your theme. All HTML and CSS mark-up must validate to W3C Standards, and your PHP must neither generate any notices, warnings, or errors when WP_DEBUG is turned on (turn it on by placing
define('WP_DEBUG', true) in wp-config.php).
The Theme Unit Test
How well does your theme handle posts without titles? Do images resize properly? Do floated elements inside posts clear properly? Are all possible HTML tags that users can use in the visual editor styled? Are all widgets styled? The theme unit test is a set of sample data that you can use to test your theme in scenarios such as these.
Of course, as I stated earlier, these are just three of the areas in the theme review guidelines. A theme passes its review and is accepted in the WordPress.org theme repository when it satisfies the criteria for all of the areas.
So, why should you care?
The theme review team’s guidelines are important for all WordPress theme developers for three basic reasons:
- They establish general consistency among WordPress themes for users and developers.
- They ensure protocols for theme security.
- They raise the bar for overall theme quality.
Let’s discuss these three areas in more detail.
WordPress themes are a eclectic bunch, but they do have at least one thing in common — they are all WordPress themes. It’s important to always keep this in mind.
When your theme deviates too far from the core WordPress functionality, you run the risk of users becoming frustrated as to why certain features that they’ve come to expect from WordPress don’t seem to work with their site. Listed below are sections of the theme review guidelines that help establish a base consistency among themes in the WordPress.org theme repository:
- Template Tags and Hooks
- WordPress Generated CSS Classes
- Theme Template File Checklist
- Theme Name
- Credit Links
Before you add a custom feature to your theme, check to see if WordPress already has a core function that can take care of it. The table below highlights core features your theme should utilize as much as possible.
|Theme Feature||WordPress Feature to Use|
|Custom Logo/Banner||Custom Headers|
|Background Color/Image||Custom Background|
|Menu Management||WordPress Navigation Menus|
|Theme file editing||WordPress Theme Editor and Plugin Editor|
|Theme Options Page||Settings API|
|Theme Options Page Design||Stick with the WordPress UI instead of making your own design. (Ryan Imel from WPCandy wrote a blog post on this subject)|
|Design options (color pickers, font size tools, border size, etc)||Keep to a minimum. Encouraging users to make design changes with CSS is more scalable in the long run.|
|Direct Database Queries||WordPress Template Tags and Functions|
|Thumbnails||Post Thumbnails (Featured Images)|
Themes play a large role in WordPress sites, so it pays to ensure that your theme’s code is as secure as possible. Don’t let your theme be the one that leaves your users’ sites vulnerable to hackers. No one wants (or deserves) to have their site hacked. If you follow the theme review team’s security-related guidelines, you will be one step closer to building a theme that is as safe as it is gorgeous. The following are the theme review team’s guidelines related specifically to security. I highly recommend that you read them as you develop your theme:
- Theme Settings and Data Security – Properly escaping all data throughout your theme and using the Settings API for theme options pages are essential characteristics of a secure theme.
- Theme Obsolescence – Outdated code and deprecated functions are a security threat because they may contain known vulnerabilities that hackers can exploit. Themes in the WordPress.org repository will be removed if they are not updated on a regular basis to comply with the latest version of WordPress. In a similar vein, third-party scripts can also pose security risks, as we saw with the recent TimThumb vulnerability. If you use third-party scripts in your theme, please, please, please check those scripts regularly to make sure they are up to date. If the original author of a script does not put out regular updates, think twice about using it. Security is never a “set it and forget it” deal — you must approach it Mad-Eye Moody-style: CONSTANT VIGILANCE.
The final reason that it’s important to pay attention to your theme’s code is for the sake of quality. A theme that uses well-formed, modern code is easier for you and other developers to maintain in the future. The larger the number of well-coded themes we have, the more positively this reflects on the WordPress community as a whole. The following area from the theme review team’s guidelines relates specifically to code quality (I linked it earlier, but I’m linking it again because it’s that important):
In addition, WordPress has adopted standards for writing PHP, HTML, and CSS. We use these standards when converting themes for use on WordPress.com:
Conclusion and … how to get started
I hope I’ve convinced you why it’s so important to pay attention to your theme’s code, whether you are creating free themes or commercial themes. If you’re interested in applying some of these principles to your theme development, here is a nice list of procedures to keep in mind during the development process:
- Make sure you’re aware of the current theme review guidelines.
- Look at the code of the current default theme, such as Twenty Eleven, as a starting point and as an example of best coding practices and implementing core WordPress functionality.
- Get in the habit of testing your theme with the unit test data.
- Turn on WP_DEBUG in wp-config.php to check for hidden errors, warnings, and notices.
- Install the Theme Check, Log Deprecated Functions, and Debug Bar plugins. Run their tests often to catch (and fix) potential problem areas before they pile up.
- Before you add a custom function, check to see if there is a WordPress core function that can take care of it. If you feel that the WordPress core functionality is lacking somehow, try supplementing the core feature instead of replacing it completely. Make sure that any custom feature you add does not leave “debris” behind (such as broken shortcodes) or otherwise cause a site to break badly if users decide to switch their theme. What are your “fallback” features?
- Consider joining the WordPress theme review team, which forces you to learn by checking others’ code. For more information, please read Justin Tadlock’s excellent post on this subject: Join the WordPress theme review team.
Resources for further reading
Can you use WordPress to power your web design work? Of course you can. But how? That was the subject of a talk I gave at the 2011 Future of Web Design conference this May in London. If you missed FOWD you missed a great time and some awesome presentations but you didn’t miss everything. The video is available on WordPress.tv and I’m going to share some of the ideas I brought up in my talk right here. Including a free custom theme for you to use in your own projects.
I’ll presume here that you’re already interested in WordPress if you’re reading this but in case you’re not, why WordPress? What’s the big deal? Well, right now, about 14% of the web is built on top of WordPress. That means, as web designers, it’s important that we get this whole theming thing right. Tipping point numbers like that mean more and more of your clients are going to be asking for WordPress. It’s probably starting to happen to you right now.
You’re already a web design expert. You should be a WordPress theme expert too.
I know more than a few of you have been patiently waiting for this announcement: the Duster theme is now available for download at the official WordPress Themes Directory. Go get Duster and let us know how you’re using it on your blog!