Hybrid Core Version 3.0: Mr. Reynolds

Just a little over a year ago, I released version 2.0 of Hybrid Core. That was only the framework’s second major release since I started building it in 2008. I assumed it’d be at least 2 years before I tackled another major release. I’d planned on doing minor and patch releases for a while, all along building themes.

However, a lot has changed in the theming world in just the past year. WordPress has added a lot of cool features for theme authors that were previously handled by Hybrid Core. The WordPress.org theme directory only allows themes to utilize the customizer for theme options. And, several other major changes happened since 2.0 was shipped.

Minor releases and patches were not going to cut it. With such a large shift in the landscape, Hybrid Core needed another overhaul.

And, that’s exactly what I gave it.

Out with the old

I pretty much gutted every legacy feature and everything that I didn’t think was all that important for a WordPress theme framework in the year 2015.

I won’t rehash the entire change log, but here are some notable features that were removed:

  • Atomic hooks functionality.
  • Random Custom Background extension.
  • Featured Header extension.
  • Cleaner Caption extension (handled in WP).
  • Loop title/description (replaced by WP).
  • Pagination (replaced by WP).

I wanted the framework to feel fresh. Getting rid of old stuff was a major step toward that goal.

In with the customizer

Color palette customizer control

The customizer is the future of WordPress. This has been made pretty clear by the direction WordPress has been moving, particularly in the past year.

While Hybrid Core has utilized the customizer and 2.0 made it clear that the customizer is our preferred way of handling theme options, there wasn’t much for theme authors to work with. Therefore, I built some cool customizer controls for you all:

  • Color Palette.
  • Multiple Checkbox.
  • Dropdown Terms.
  • Layout.
  • Radio Image.
  • Select Group.
  • Multiple Select.

And, a couple of customizer setting classes:

  • Array Map.
  • Image Data.

I’m kind of unofficially dubbing this the customizer release.

New features and changes

This announcement post would get fairly long if I detailed every new feature and change. There were 269 commits (some were fairly large). Here’s a short list of the changes I think are the most noteworthy:

  • Layouts API, which is an overhaul of the previous layout system.
  • Media Meta API that allows you to easily output metadata for media files (audio, video, images).
  • Continued accessibility fixes and improvements.
  • Language-specific function files for both parent and child themes.
  • Fewer text strings so that it’s even easier for translators.
  • Schema.org microdata updates and corrections.
  • Complete overhaul of URLs and translatable text strings to harden security.
  • Gallery stylesheet is completely adaptive to screen sizes.

Plus, loads of other changes were made. There were tons of tiny improvements and a few bug fixes that aren’t necessarily noteworthy but make Hybrid Core one of the best frameworks for building themes.

New documentation

Hybrid Core’s docs are out of date at the moment. Honestly, its users make only a tiny fraction of Theme Hybrid’s user base but account for the largest investment from me. It’s fairly unbalanced.

Given that and the pace of change in development, I’ve decided to try out something new for a change: community-driven documentation. I’ve opened the Hybrid Core wiki on GitHub so that anyone can contribute. I’ll be adding some stuff, but I hope that anyone using the framework will chip in as well.

I also believe freeing this up will drive adoption of the framework by more theme authors. The more developers we have using and contributing to the project, the better.

If the community responds well to this, it will open up more time for me to focus on some longer-form tutorials for members, which is something I’m better at doing than just pure reference-style docs.

Mr. Reynolds?

It was suggested that new Hybrid Core versions get code/release names like WordPress. Jazz isn’t really my thing, so I’m sticking with references to some of my favorite TV shows.

“Mr. Reynolds” is a bit vague, but if you’ve read enough of my tutorials and docs over the years, you might be able to work it out.

So, I’m going to do a little something fun. I’m offering up a free lifetime membership (no matter what changes in the membership system come in the future) to the first person to post the TV series name here in the comments.

I hope you enjoy this release and build all kinds of cool themes with it. Go ahead, hop over to the framework page, and grab the latest copy.

22 Comments

  1. kraftner

    Looks awesome – can’t wait to try it out with my next project. It has always been a pleasure working with Hybrid Core.

    But now let’s get to serious business. I did search around a bit and I am almost sure you are talking about Malcolm “Mal” Reynolds from Firefly. Am I right?


      1. Cool. I just updated you membership to lifetime. If the system asks you for payment when your paid membership expires, just choose the “free” option. I have a script that will need to run to auto-update some stuff with your account.

  2. Ryan Miller

    Justin, this is huge! I’ve been a fan for a long time and I’m excited to dive deeper into what Hybrid Core can do for my theme development (particularly enhancements to Schema.org data). You’re a huge asset to the WordPress community. Thanks for everything!

  3. Luke

    I believe his correct title is “Captain”. 😉


  4. Thanks for all the hard work. You know I’m gonna take some of the goodies in my projects also:)


  5. Thanks for this new release. Hybrid has been serving me well for many years.

    Any chance to ship an updated Hybrid Base? That could be great documentation for those who learn by example.



  6. Hey, Justin!

    New customizer controls look awesome. I was actually, thinking to remove and clean-up code that I don’t need, from v2.0, but that’s almost done.

    I’m seriously thinking to adopt HCv3 and release a few themes at W.org with it before the end of 2k15.

    Thanks for this


  7. The Color Palette is really cool. Thank you very much for updating Hybrid Base too.


  8. I love the way you improve Customizer. Very useful. I’ve been watching and learning from Hybrid Core a lot.

    Thanks for making it and thanks for the public documentation!


  9. Will Stargazer be updated to support/include Hybrid Core 3.0?


    1. Yes, it will include HC 3.0. There really shouldn’t be any noticeable changes except images for selecting the layout and more responsive gallery styles. I can’t think of anything else.

      1. Patrick S

        Awesome, thank you… Can’t wait to see how the master brings HC3 to life :)


      2. That’s great! Thanks, I’ll keep an eye on it.

  10. Emil

    Thanks for all the hard work Justin!


  11. What’s the recommended process for generating style-consistent layout icons? I tried registering a layout with no icon, but it didn’t show up in admin at all. So as a quick hack, I just assigned a duplicate icon from the existing set, but feels like text-based layout list option could be useful.


    1. I’d recommend playing around with a few different options in Photoshop to see what you come up with. Contributions from our design-savvy users would be awesome too for some basic, standard layout icons/images.

      As for the text option, I’m not so sure at the moment. With an entire Layouts API now available, theme authors can build any type of UI they want for layouts. I think offering up too many options out of the box would get me in trouble down the road because those are implementations that I have to support. I’ve learned my lesson from doing that. It’s far better to make a decision about the default UI while providing tools that can stand the test of time and support a multitude of implementations.

      With a single default implementation, I have a bit more freedom to completely change the UI in a year or two if needed without having to worry about as much backwards compatibility.

      I also feel like having two options kind of pigeon-holes theme authors into using one of those two options. If there’s only one option out of the box, it forces theme authors to get creative if they want to do something different.


    2. OK. It’d be interesting to have a programmatic generator for these. But I’ll roll with the manual drawing fallback for now.

  12. Oliver Bockelmann

    Just arrived back from a roundtrip through Sweden and the 3rd round can begin. Thanks for releasing Mr. Reynolds. 😉

Comments are closed.