Online Resources to Help You Learn All The Things

The web industry is always changing. Just when you get settled into a routine, the flow of technological innovations force you start a new one. Can you keep up? It never hurts to set aside some time for learning new skills and sharpening your current ones.

In this post, I’ll outline a few online resources that can help you continue your education in web design and development (or to get started, if you’re just joining us).

Continue reading “Online Resources to Help You Learn All The Things”

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 “Custom Background & Custom Header”

The Archive Template

What archive.php does (and all its related templates) is show posts based on a select criteria. A date range, or posts by a certain author, a category, or a tag. So, basically, it’s a lot like index.php.

Our theme will have one multipurpose archive.php template to cover date, category, author, and tag archives.
Continue reading “The Archive Template”

Setting Up Your Theme Functions

We’ve got a file structure in place, now let’s start adding things to them!

First, we’re going to add some PHP functions to our theme. These functions will serve a variety of purposes, including:

  • adding support for WordPress features such as custom backgrounds, headers, post formats, etc
  • setting up theme defaults
  • acting as “containers” for code we can reuse throughout the theme

Continue reading “Setting Up Your Theme Functions”

Developing Your Theme Sense

What is “Theme Sense”?

What is “Theme Sense”? Theme Sense is an intuitive understanding of WordPress themes: the relationship between the files that make up a theme, and how those files fit in with WordPress. Theme Sense is what you’ll have at the end of this tutorial.
Continue reading “Developing Your Theme Sense”

The ThemeShaper WordPress Theme Tutorial: 2nd Edition

Many of you have written or commented to tell us how much you liked Ian Stewart’s original tutorial, “How To Create a WordPress Theme: The Ultimate WordPress Theme Tutorial”. You’ll be happy to learn that that we’ve created a second edition.


Many of you have written or commented to tell us how much you liked Ian Stewart’s original tutorial, “How To Create a WordPress Theme: The Ultimate WordPress Theme Tutorial”. You’ll be happy to learn that that we’ve created a second edition of the tutorial! Just like last time, you can expect one new lesson each day. What’s changed in the second edition? Keep reading to find out!

What’s new in the Second Edition:

  • Updated code samples that draw from the Underscores (_s) starter theme. February 2012 marked the release of the Underscores (_s) starter theme, and since then, it has gathered plenty of momentum. The code samples and file structure for the theme we’re going to create in this tutorial will draw from _s as a source of modern code that reflects current best practices.
  • New Lessons. Developing Your Theme Sense is worth reading if you’re completely new to WordPress Theme Development. It’ll teach you what you need to know to sharpen your theme intuition. Setting Up Your Theme Functions guides you through creating an organized theme structure, and Secure your WordPress Theme tells you what you need to know to lock your theme down from potential security threats. Distributing Your WordPress Theme covers the steps you’ll need to take to prepare your theme for distribution, and what you need to know about licensing.
  • New Tools. We added new awesome tools to the Theme Development Tools lesson.


In only 16 individual lessons, this WordPress Theme Tutorial is going to show you how to build a powerful, up-to-date, WordPress Theme from scratch. As we go along I’ll explain what’s happening including (for better or worse) my thinking on certain techniques and why I’m choosing one path over another. Essentially, I’ll be teaching you everything you need to know about WordPress Theme development.

At the end of this tutorial, you’ll be able to do almost anything you want.

The Theme Shaper WordPress Theme Tutorial: 2nd Edition

Skip to the Table of Contents.

Introducing the Underscores (_s) Starter Theme

If you haven’t heard of _s, in short, it’s a 100% GPL, community-driven starter theme that contains modern templates, starter CSS, and an organized file structure — everything you need to help you get your designs off the ground. You can also use _s as a starting point for your future theme projects. If you’d like to learn more about the thinking behind _s, please take a moment to read A 1000-Hour Head Start: Introducing the _s Theme. Come right back after you’ve read it. No, seriously, we’ll wait.

The simple theme we’re going to build in this tutorial, The Shape Theme (yes, it’s the  Shape Theme from the 1st Edition, updated for the 2nd Edition), is based on _s. Download it and check it out if you’d like to see the finished code we’ll be going through, live, in action. It’ll be a while before we get to the CSS lesson, but if you’d like to look ahead at the sample design we’ll eventually create for the Shape theme, you can grab it here.

A Word About Timeliness
Are you reading this on a date that makes October 2012 seem like a long time ago? Yes? Then there’s a good chance that some of the code samples in this tutorial are already outdated. That’s OK, because what’s more important is that you understand the broad concepts — the whys — that are presented in the lessons. You can always grab a copy of the latest _s source code from the GitHub repository.

Here’s the list of features your finished theme will be able to boast of:

  • A well-organized, modular file structure
  • All the search-engine optimization you’ll really need
  • Google-supported Microformat markup
  • Valid and logical semantic markup structure than can be used to create ANY layout
  • Smart default CSS layouts
  • Localization support: translation-ready mark-up and an RTL stylesheet
  • Dynamic body, post, and comment classes
  • Separated trackbacks and threaded comments
  • Two widget areas: the first one with default widgets, and the second coded to disappear when it’s empty
  • Support for the Aside Post Format (after the tutorial, you’ll easily be able to add support for more post formats)
  • A Custom Menu, Flexible Custom Header Image, and a Custom Background
  • Simple responsive styling, including a lightweight navigation menu for mobile devices
  • And all the typical WordPress stuff you expect from a theme

I think that’s kind of impressive—for any WordPress Theme.

WordPress Theme Tutorial Table of Contents

Ready for a WordPress Theme Tutorial that will show you how to create a powerful theme from scratch? Read it from the beginning and code yourself up something awesome. Note: if a lesson does not have an active link, it means that lesson hasn’t been published yet. 🙂

Check back every day for a new lesson.

  1. WordPress Theme Tutorial Introduction
  2. Developing Theme Sense
  3. Theme Development Tools
  4. Creating a Theme HTML Structure
  5. Template and Directory Structure
  6. Setting Up Your Theme Functions
  7. Secure Your WordPress Theme
  8. The Header Template
  9. The Index Template
  10. The Single Post, Post Attachment, & 404 Templates
  11. The Comments Template
  12. The Search Template & The Page Template
  13. The Archive Template
  14. The Sidebar Template & The Footer Template
  15. Reset-Rebuild Theme CSS & Define Your Layouts
  16. Custom Background & Custom Header
  17. Distributing Your WordPress Theme

Jetpack 1.8:’s mobile theme now available for sites

Today’s Jetpack 1.8 release makes the default mobile theme available for sites. If your site has not been optimized for mobile devices, you can provide a clean, readable interface for your mobile visitors with the mobile theme.

Work with Image Sprites? Generate CSS with SpriteCow

SpriteCow is a nifty tool that generates CSS for your image sprites. Upload a sprite, click on the desired region and — like magic — SpriteCow will generate a CSS snippet containing the background position, width, and height for that region.

At the time of this writing, SpriteCow only works in Chrome, Firefox, Opera, and IE10 (Safari is not supported).

Developer plugin v1.1: Optimize Your Theme Development Environment

The amazing Code Wranglers at Automattic recently released version 1.1.1 of the Developer Plugin, which helps you optimize your WordPress development environment (plus saves you time) by making sure you have all of the essential development plugins installed. This new version targets the people who design and develop themes — you! Read on to learn more.

Continue reading “Developer plugin v1.1: Optimize Your Theme Development Environment”