I build custom Genesis child themes for most of my clients. Rather than starting from an existing StudioPress theme, I use my own starter theme: EA Genesis Child.
What is a starter theme
A starter theme is a base upon which you can build your own custom theme. They usually have minimal styling and contain the features and functionality you use on every site you build.
I recommend you check out StudioPress’ starter theme, Genesis Sample, in addition to mine. After you’ve built a few Genesis sites you’ll likely build your own starter theme structured to your liking.
My starter theme includes
SASS for Styling
Rather than one long stylesheet, my styles are broken into smaller SASS partials for a cleaner organization. I also use variables for key settings (colors, column widths), mixins for helper functions, and dynamically generate styles.
Gutenberg Ready
The theme includes theme support for new Gutenberg features. It also compiles a separate stylesheet so the editor matches the frontend display.
Accessible
Genesis can be made more accessible by enabling the accessibility features.
Template partials for archive pages
See this article for more information.
Login Logo
The site login form displays the client’s logo (example)
Miscellaneous performance improvements
Like minimizing classes on nav menus and posts and removing avatars from comments.
Tida says
Kind of useful for me at the moment .. facing problem with child theme
Milton Olave says
Thank you very much for the theme, just bought a Genesis plan, and what was needed, but not PHP tratere customize it.
thanks
Matt says
Hi Bill, just wondered if this theme was up to date with Genesis 1.9.2 and WP 3.5 / 3.6?
Thanks,
– Matt
Bill Erickson says
Yes it is up to date. I’m currently rebuilding it to work with Genesis 2.0 (HTML5)
Richard Buff says
Will your new base child theme for Genesis 2.0 come out at roughly the same time as Genesis 2.0? I’m mostly curious how you’ve organized and stripped down the stylesheet. I don’t suppose the CSS is something you could give a preview of? 🙂
Bill Erickson says
Here’s what the stylesheet looks like right now: https://gist.github.com/billerickson/234ae168d42a7ea45a6f
Making changes to it as I build sites with it. It’s still pretty close to the Genesis 2.0 stylesheet right now.
Yes, the plan is to make it public once Genesis 2.0 is officially released.
Ken Ng says
Hi, is your Genesis base child theme ready for 2.0?
Bill Erickson says
No, BE Genesis Child has not been updated for HTML5. I’ve left it as-is for developing on non-HTML5 versions of Genesis.
Jared Atchison and I have an HTML5 base child theme we’re working on but it’s currently private. It’s really just the stylesheet from Genesis with slight modifications, and the same basic code of BE Genesis Child.
Raja says
Thanks Bill for sharing this base child theme, hope you’ll release such base child theme for latest Genesis 2.0 as well.
Emily says
Thanks Bill! 😀
Kingsley says
Nice post, is there a demo of the theme? like me try it out.
Thanks
nextrollout says
hi bill, is this theme responsive. actually i want a theme which could work in mobile devices as well. thanks
Bill Erickson says
Yes it is responsive
Craig Grella says
Bill,
Just curious..
In your setup uou remove several of the genesis widgets, enews, feautured poat, pages, etc.
Are there are other plugins or widgets you prefer or are you creating that functionality with code too?
Bill Erickson says
It all depends on what the client needs. If they just need a simple list of posts, I’ll use Display Posts Shortcode. If it’s something more custom (ex: upcoming events with a little calendar icon for the date) I’ll build a custom widget for it.
Craig Grella says
Okay thanks.
I’ve used these widgets often. Any particular reason you delete them? Just prefer others or are they not good to use?
Bill Erickson says
Well I really don’t like how Featured Posts and Pages are written. They use query_posts() which messes with anything that modifies the main query (like my Genesis Grid plugin).
But for the most part, it’s because I only include widgets that are necessary for the client and tested by me. I don’t like testing all the possible options they have with these plugins since 99% of the time they won’t use them.
Craig Grella says
makes sense. thanks again.
Thomas Bock says
Bill,
Do you prefer to use a ‘setup’ function to load your site-wide functions or use the way Genesis does by starting with init.php. I have seen arguments for both.
Thanks
Bill Erickson says
Definitely a setup function. It just seems wrong to include a file from another theme, especially since WordPress will do that for you once your functions.php file has loaded.
Thomas Bock says
Thanks, you have settled an argument.