I’m excited to announce the first public release of my oft-delayed theme, Elbee Elgee. It’s available right now over at its page on WordPress.org. I’ve been working on this for the better part of the last few years, picking at the code here and there but never with any real drive towards a release.
Why Release A “New” Theme?
As I said above, I’ve been kicking this theme around for several years. It’s been the engine powering Literal Barrage (in various incarnations) and I’ve always meant to release it, though I’ve always lacked the motivation.
Then came Oenology and Ghostbird.
Chip and Michael’s respective theme releases lit a fire under my butt and I decided to get the theme into shape for release.
I wanted to make sure I understood the WordPress theme development process from front to back and I wanted to integrate some ideas that had been floating around in my head since I published my original theme options page tutorial.
After several rounds of bugfixes and refinements, I cleared the WordPress Theme Review Team’s review process and, well, you can see the result over at the official demo site (or you can check out your current surroundings — Literal Barrage is running a child theme of Elbee Elgee).
What’s so exciting about Elbee Elgee?
I’m pretty psyched about several noteworthy features that I’ve included in this theme. Check ’em out below.
Over 30 Layouts Out Of The Box
Elbee Elgee is based on the layout ideas I first encountered at Layout Gala. These principles allow for around 30 different total layouts using a single basic HTML structure, so users can switch from 1 column to 2 or even 3 at the click of a button.
There’s a theme stylesheet,
layoutgala.css, that nicely demonstrates the different parts of the theme. If you’re curious, activate it and then try out a few of the layout options.
One of my core goals in coding Elbee was to make theme options easy to customize/override through the child theme/parent theme relationship. Currently, simply placing a file at
[child theme location]/includes/child-options.php will allow child themes full control over all theme options. Child theme authors can choose to prepend, append, replace, or even zero-out the native theme options. I hope to expand on this more in a future post.
Native BuddyPress Support
Out of the box, Elbee will detect whether a BuddyPress install is installed and active and will alter itself slightly to accommodate it.
First off, it will register a new custom menu, allowing BP administrators an easy way to offer their users direct access to BP’s various functionality.
Here’s the theme’s header without BP active:
And here it is once a BuddyPress install is detected:
Note the BuddyPress search function and the menu. This is also evident in the back end.
The top image shows the default view, while the bottom image shows an install with an active BuddyPress instance. You’ll also note that a menu with the default BuddyPress sections is added.
Native bbPress (The Plugin!) Support
Elbee Elgee also supports the soon-to-be-officially-released plugin version of bbPress, the forum software built on top of WordPress.
NOTE: BuddyPress 1.2 and bbPress 2.x don’t play well together currently. Do not attempt to mix. (Total protonic inversion may result. Not responsible for hair loss, temporary blindness, vertigo, depression, hangnails, etc. –The Management)
Custom Header/Background Support
I’ve included a few of my own GPL-licensed photos for use in the base theme and you’re free to upload your own headers, logos, etc. to your heart’s content. (I’m particularly proud of the Philly skyline/Ben Franklin Bridge shot, myself.)
I’ve also included a couple of custom widgets, one of which I’m particularly proud of: Smart Recent Posts. This widget will display previous posts if a user is reading the front page or it will display the contents of the front page, if they’re reading an individual page or post.
I’ve added a few useful utility CSS styling to make sticky posts, alerts, warnings and information stand out from standard posts. All you need to do is add categories for “Alert”, “Warning”, and “Notification” and you’ll get the styling for free.
I’ve included a host of useful hooks which should make child theming a much easier process.
In the weeks ahead, I hope to:
- Release a child theme or two
- Tighten up the core CSS
- Add tabs and image-based radio button support to the backend options framework
- Iterate on any feature requests/bug reports that (hopefully!) come in from users
- Add support for post formats