Working on a Theme Development Course

I just started work on video course for learning WordPress theme development. It’s designed for folks who are familiar with using WordPress and would like to start building themes professionally (for clients or for their own work). The plan is to release the entire video series for free.

Since the focus is on professional development, I’ll be covering developer tools as much as actual theme development. Introducing topics like local environments, version control and build tools all together as it relates to WordPress themes will (I think!) be really useful for new developers getting up to speed.

If you or a friend has been looking to move into WordPress theme development, get on the mailing list and I’ll let you know when the first video is available.

Sign Up to Get Notified When the Course is Ready

Rough Course Outline

01: Setting up a Local Environment

I’ve worked with a number of different development environments (MAMP, Docker, Vagrant, Valet, etc), but for this course we’ll use Local by Flywheel as it works on both OSX and Windows, because it is easy to set up, and includes access to tools like WP CLI. To start, we’ll get Local installed and set up a fresh install of a WordPress site.

02: Introduction to Template Hierarchy

During the course we’ll build a basic brochure site (for ACME Agency) from scratch. It’s rare that anyone would ever build an entire theme completely from scratch (because there’s several starter themes that give a great headstart), but since we want to understand the fundamentals of WordPress theming we’ll begin with an empty directory and start building out the basic anatomy of a theme.

03: Template Partials and Includes

We’ll break apart our main theme files into a header, footer, and content blocks.

04: Loading Scripts and Styles

WordPress loads scripts and styles a little differently than basic HTML or other frameworks. We’ll cover how to properly enqueue scripts and styles the WordPress way. We’ll enqueue Bootstrap and start to add basic styles for our theme.

05: Build Tools for WordPress

Build tools allow you to use CSS preprocessors (like SASS), autoprefix styles for browsers, minify styles, concatenate scripts and much more. I’ll explain how to install the build tools (from brew, to node, to npm, to grunt) on the command line and explain how to get it working for a WordPress theme.

06: Basic WordPress Blog

We’ll set up a basic WordPress blog and explain all the components of it (the loop, author, date, the_content, etc).

07: Menus in WordPress

We’ll swap out our hardcoded menu for a dynamic WordPress menu.

08: Sidebars and Widget Areas in WordPress

We’ll swap out our sidebar with a dynamic widget area and explain how it works.

09: Custom Post Types and Metafields

This video will be a high level overview of custom post types and metafields. We’ll build out a “Portfolio” custom post type, discuss meta fields, and explore some tools like ACF and CMB2 for quickly adding fields.

10: SEO, Contact Forms, and More

Almost every website for a client or business needs to address SEO and contact forms in some way. I’ll share some of the plugins I use on the majority of my projects.

Why Make This Course?

I recently took Jeffery Way’s excellent Laravel from Scratch video and loved how easy it was to pick up the basic concepts of Laravel. It would have taken me months to get up to speed on my own. I felt the same way after taking Wes Bos’ React for Beginners Course a couple years ago.

I’ve been prioritizing projects to work on this year, and building a theme development course seemed like one of the best uses of my time and experience. Learning to be a developer is one of the best choices I’ve made and I enjoy helping other people along the same route. If this first course is popular, I may eventually release additional courses that require a paid membership.

How to Sign Up!

I’m hoping to release the first video about Local Development Environments by the end of January. Sign up now and I’ll let you know when the course is ready:

About Devin

I am a developer based in Austin, Texas. I run a little theme shop called DevPress and help manage a WooCommerce shop with Universal Yums. Find me on twitter @devinsays.

2 Responses

Leave a Reply