How to Build a Genesis Child Theme from Scratch


I’m super excited about my latest course at LinkedIN Learning: WordPress and Genesis: Building Child Themes from Scratch.

True story: there are affiliate links is this post. They won’t hurt you.

The Backstory

One of my first courses with was customizing Genesis child themes. I was excited about that course (and still am) because it teaches the fundamentals of the Genesis Framework, including working with those mysterious action hooks and filters (if you’ve taken the course, you’ll know they’re not mysterious anymore…).

I designed that course to help lead someone down the road from “I’m a copy-and-paste other people’s code WordPress site assembler” to “I understand the whys and can write my own basic code WordPress developer.” That was a course about “teaching a man to fish,” so to speak.

But the People Wanted More

“But I want to know how to build a theme from scratch,” they cried! Ok, that might be a bit dramatic, but across every social platform where I interact with other Genesis users, that was a common refrain.

Personally, I don’t start from scratch with every theme build (I built my perfect starter theme), but there’s a lot of value in understanding each component that goes into a theme and why you choose some things over others.

Enter: my latest LinkedIN Learning course, WordPress and Genesis: Building Child Themes from Scratch.

In that course, I start with a blank file and whip it into a fully-functioning child theme for the Genesis Framework. Is it beautiful? No. Is it the best theme ever? No? What it is is a bare bones approach to understanding all the code that makes up a child theme for Genesis.

p.s. I keep re-emphasizing Genesis because it’s different than child theming for other WordPress themes. If you wanted to build a theme from scratch using underscores, for instance, check out this course by my friend Morten.

A Gift for You

Want to learn how to build a Genesis child theme from scratch but don’t have a account? Well, one of the perks I get from Lynda is the ability to offer my friends free trials. Woot!

Get a free 30-day trial to LinkedIN Learning. That’s plenty of time to take my latest course and browse their massive course list for other topics you might enjoy.

The Outtake Reel

I’m really done sharing “important” things in this post, but thought it’d be fun to share some behind the scenes details of this course.

Live Action

For starters, this was my first course with a “live action” component. The live action amounted to my doing a live course intro and outro (you can watch the intro here). There was a crazy amount of prep that went into that 90 combined seconds of video!

Me on the green screen

Total shoot time was about 3 hours. Between practice reads and messed up takes, my voice got pretty scratchy and I drank a lot of this. I also drank water out of a box (I think that’s a California thing?) and got to “take 10.”

I had a stylist do my makeup and I even wore fancy pants (although they never made the cut – ha!).

Let me just say, this girl is not cut out for the movies.

In the Booth

Sign showing who's in which booth

The rest of my time recording the course was spent in an 8×8 padded black recording booth. Between this course and one other (not yet released), I spent 40-50 hours in that booth over the course of a week.

After my courses go through the editing process, that winds up being less than 3 hours of actual course material. You’d be surprised how hard it is to consistently get a good take on the first try.

Yes, I spent my days in a room with padded walls. 😉

Still though, it’s a really neat experience. Plus.,when I’m done in my dark little booth, I’ve still got a little daylight to enjoy on the California coast:

carpenteria sunset

On a personal note, both the process of recording courses and the feedback I get from folks who’ve taken them is tremendously rewarding. If you’ve ever taken one of my courses, thank you (as ever) for letting me be a part of your learning journey. 🙂

38 thoughts on “How to Build a Genesis Child Theme from Scratch”

  1. Carrie – So sorry, I somehow had done something very silly – removed the the backslash before the includes file path in the function.php – without noticing. Needless to say, you don’t need to answer. Would still like to know to contact you on Lynda about the course though. Thanks!!

    1. Robert, glad yo hear you got it working! Sometimes it’s the littlest things and you just can’t believe you didn’t catch it earlier!

      As for feedback/questions on Lynda, there’s a “Course Feedback” button under the Table of Contents for each course. There’s a spot in there where you can submit questions. 🙂

  2. Brilliant. Didn’t spot that! (as with the backslash!). Thanks again for all the hard work and sharing of Genesis knowledge!!

  3. I had to stop at this part because it just doesn’t work for me. I tried it twice and followed along, even copied and pasted from the exercises files.

    When Carrie has that error where she forgot to add the function “scratch_setup”, mine doesn’t break as it should, I thought something was wrong right there but kept going, and now in the widget area part of the course, nothing happens and I am completely lost, I tried the first option “include_once”, link it to “init.php” and then just write the scratch_setup function but I get no result either.

    Any ideas on how I could fix that so I can keep watching the videos? Thank you

  4. Thank you for your reply Carrie,

    At the end I started over and I was able to follow along, I still don’t know if it was a problem coming from my localhost or if there was something I missed in my code. I was able to finish the whole course! I really enjoyed it. Thank you!

  5. Hi Carrie, thanks for putting together a great course. I really enjoyed it and found it useful. Just one thing that didn’t work for me is removing posts from front-page.php

    I’m working with the latest Genesis framework and WordPress which I downloaded yesterday and followed your course on but it doesn’t remove posts from homepage with the code you shared on Github (scratch repository).

    Would you look into it and see if there has been any system update that might affect this?


Leave a Comment

Your email address will not be published. Required fields are marked *

Carrie Dils uses Accessibility Checker to monitor our website's accessibility.