WordPress Theme Development Tutorials and Resources

WordPress is the most popular content management system (CMS) in the world, powering over 25% of the public web. It is popular in part because it is free, easy to use, and easy to host. It is also relatively easy to develop for. Many web designers and developers have gotten their start by working on WordPress — and many have made a lucrative career out of it.

The structure of WordPress separates out content from design and functionality. Content is stored in a database, customized features are added with plugin-ins, and the design of a site is controlled by a theme.

If you want to design themes for WordPress, it helps to know some PHP, but the most important thing is HTML and CSS. In addition to basic coding skills, there are a number of WordPress-specific thing you'll need to learn in order to become a successful theme developer.

We've collected the best WordPress theme development tutorials, along with links to must-have tools, helpful resources, and a few great books. Here you'll find all the information you'll need to create your own designs for a WordPress site.

Tutorials

Intermediate and Advanced Tutorials

These tutorials are not about theming in general, but about some particular aspect of theme development. Once you have a handle on the basic process of building a new theme, these will help you take your skills to the next level.

Reference

Even the best theme developers can't remember everything. Bookmark these sites so that you'll always be able to find the information you're looking for.

  • The WordPress Codex is the official documentation for the WordPress software. If you're going to build your own themes, you should get to know these pages very well.
  • WordPress Coding Standards is the official style guide for writing WordPress code. Themes and plugins submitted to the official directories are expected to follow the coding standards.
  • Stepping into Templates is the official explanation from the WordPress Codex about how theme template files work.
  • Theme Developer Guide for WordPress.com lays out all the requirements for inclusion in the WordPress.com theme directory.
  • WordPress hooks database is an indexed directory of every hook and filter in WordPress core. Also see the very similar hookr.io.
  • Naked Wordpress is a responsive, blank starter theme that isn't primarily intended as a base for theme development. The code for each file is meticulously commented for reference.
  • Awesome WordPress is a curated list of WordPress development tools and resources.

Development Workflow Tools

If you are still using Notepad and an FTP client to make theme changes to a live site, you need to improve your WordPress development workflow. The place to start is with modern tooling.

  • Roots is a suite of WordPress development tools that provide a modern, integrated development experience. The tools include a webserver stack designed for easy deployment, a customized distribution of WordPress core that makes dependency management and version control easier, and a starter theme with baked-in best practices.
  • WP-CLI is a command line interface for WordPress that allows you to install and upgrade plugins, update core, manage themes, and perform a number of other administrative tasks from the shell, without having to use a web browser. There's also a GUI for WP-CLI, in case you have a hard time remembering how to concatenate long strings of commands.
  • WordPress Packagist mirrors the WordPress plugin and theme directories as a Composer repository, allowing you to do modern PHP dependency management across multiple instances of the same project.
  • WordPress-Skeleton is a starter git repo for WordPress projects.

Local Webserver Stacks

These tools all do the same thing: provide a webserver stack for a local development environment.

DesktopServer and Trellis are designed specifically for WordPress. XAMPP, Wamp, and MAMP are going to be most similar to the server environment on a typical shared hosting plan.

Plugins

These plugins make WordPress theme development easier.

  • WordPress Beta Tester makes it easier to test Beta releases of new WordPress versions. For theme developers, this can help you make sure your theme is compatible with any changes made to core.
  • User Switching makes it easy to switch between different user accounts quickly. This is very handy for testing themes to see how they look to different type of users (Admin, Contributor, Subscriber).
  • Synchi is adds an IDE (integrated development environment) into the theme and plugin code editor in the WordPress admin.
  • Developer helps optimize your WordPress installation for development.
  • What The File tells you which template files are being used to display a page of your site.
  • Debug Bar adds an admin bar to a site, providing information about performance, caching, query details, and other things that are helpful for developers to know.
  • Theme Check automatically tests a theme for compatibility with WordPress theme coding standards.
  • Log Deprecated Notices records any use of a deprecated or incorrectly used function, file, hook, or filter, and suggests an alternative.
  • Theme Test Drive lets you run one theme for your admin user while all other visitors to your site see a different theme.
  • Options Framework makes it easy to create theme option panels.
  • The Monster Widget lets you quickly enable all core widgets on a site, which is very helpful for testing theme design and layout.

Starter Themes and Theme Frameworks

You can build a new WordPress theme from scratch, but you'll spend a lot of time writing redundant code and reinventing the wheel. Most professional theme developers use a blank starter theme so that they can focus on the features that make their design unique.

  • HTML5 Blank WordPress Theme is a great starter theme for getting your development off on the right foot.
  • Sprig is a starter theme that incorporates the Twig templating system.
  • Cherry Framework is a responsive WordPress theme framework based on Twitter Bootstrap.
  • Underscores is an ultra-minimal, standards-based WordPress starter theme built by Automattic.
  • Genesis Framework by StudioPress is a professional theme framework that provides a high-quality foundation for building beautiful WordPress themes.
  • Thesis is a skinnable WordPress theme and template management system.
  • Layers is a customizable WordPress theme with a drag-and-drop visual editor.
  • Gantry is a theme framework for rapid development.
  • Bones is a popular HTML5 WordPress starter theme.

Books on WordPress Theme Design

  • Digging into WordPress (2009–current), by Coyier and Starr, is the best book available if you want a deep understanding of how WordPress really works. It is updated continuously as each new version or patch is released, so you get the latest info in hard copy whenever you buy it, plus lifetime access to updated material online. If you are only going to buy one book on WordPress, this is the one to get.
  • WordPress Web Design For Dummies (2013), by Lisa Sabin-Wilson, is a great introduction to WordPress and theme development. This book is also really good for people who are working with WordPress theme developers and want to know what is possible, what they can ask for, and what might be too off-the-wall.
  • Smashing WordPress Themes: Making WordPress Beautiful (2011), by Thord Daniel Hedengren, is a popular look at WordPress theme creation with an emphasis on beautiful design.
  • Professional WordPress: Design and Development (2013), by Williams, Damstra, and Stern, digs into the technical nitty-gritty of WordPress theme and plugin development, for coders with some experience.
  • Web Designer's Guide to WordPress: Plan, Theme, Build, Launch (2012), by Jesse Friedman, is a thorough introduction to WordPress, from a web designer's perspective. This book is best suited to people who are new to WordPress, but already have some experience with HTML, CSS, and JavaScript.

Summary

Creating new themes for WordPress is very rewarding, but it can also be hard work. There are a lot of moving parts, things to keep track of, and implementation details to remember. If you just open up the default theme and start messing with the code, you'll probably learn a lot — but you won't end up with a stable and maintainable theme that you can use on a public site or release in the Theme Directory.

However, if you follow the advice in these tutorials and use the tools listed above, you'll be able to create beautiful new themes and stay sane while doing it.


Further Reading and Resources

We have more guides, tutorials, and infographics related to WordPress:

How to Speed Up WordPress

Want to maximize the performance of your WordPress installation? Check out our infographic, How to Speed Up WordPress.