A guide to Hybrid

Hybrid is a theme framework.

What this means is that the possibilities are endless. It is the culmination of over three years working with WordPress and a few solid months of rethinking how WordPress themes should work. It looks simple on the outside, but you can do nearly anything with enough creativity.

Is it a perfect solution for everything? Maybe not, but it's as close as you'll come to being able to run any type of site with a single base theme on WordPress.

Theme Options

Themes are becoming more and more bloated with multiple theme options, which makes it even harder to customize your theme. You won't have that problem with Hybrid. Each theme option has been carefully weighed and removed then added again in an attempt to only put things that matter into the WordPress backend.

So, every theme option available is there for your convenience, but they won't bloat your site or get in the way of your customization. Plus, Hybrid theme options only leave a single entry in your database, which reduces the clutter of multiple options that many plugins and themes add.

Widgets

Hybrid comes with a lot of widget options. There are two main widget sections: Primary Insert and Secondary Insert. Your widgets can be added or removed depending on which part of your blog a visitor is on.

Plus, widget areas completely collapse if there's nothing to display, leaving you with clean code to work with.

Page Templates

This framework is packaged with loads of useful page templates. Page templates change the way a page displays or functions depending on the particular template you've chosen.

Archives
By default, this template will show your category and monthly archives. To overwrite this, you can activate one of three plugins: Clean Archives, Smart Archives, or Smarter Archives.
Authors
The Authors template will list each of your authors (in order of display name) with the biographical information from their user profiles along with a spam-protected link to their email address. Only authors with posts are shown.
Blog
If you don't use a blog-based front page, this template is useful for setting up an alternate blog page. It will show the number of posts set in your reading settings.
Bookmarks
Will produce an unordered list of your bookmarks by default. Alternately, you can install the Hot Friends plugin, which will overwrite the default setting.
Categories
The categories template will list your categories along with their post counts and RSS feed links. Activating the No Widget Category Cloud plugin will overwrite the default settings.
Logged In
This template will allow you to show custom content to only logged-in users. You can also check for users with specific capabilities. Just use the custom field key Capability and put any capability in as the custom field value (also checks for multiple values). For users without permission to see the content, a link to log in and a link to register (if registrations allowed) will be displayed.
No Widgets
For use on pages where you don't want any widgets displayed.
Tags
The Tags template will show a tag cloud of all your site's tags. You can also overwrite this by installing the Configurable Tag Cloud Widget.

Attachment Handling

Hybrid takes attachment handling to a whole new level. Attachments are files that you've uploaded to a post, which doesn't necessarily mean that it must be placed within the post area.

There are quite a few attachment templates to handle things you've uploaded: attachment.php, application.php, audio.php, image.php, and video.php. Basically, this theme knows what to do when you link to an attachment page, which is simply just a child/sub-page of any post/page.

Child Themes

When I call Hybrid a theme framework, I mean it. It is meant to be used as a base theme to build from. What this allows us to do is extend it through child themes.

Yes, you can create your own theme. Even if you're a total noob to WordPress!

Just create a new theme folder in your /wp-content/themes directory. Call it something like My Hybrid or some other much cooler name. So, you'd have a directory like /wp-content/themes/my-hybrid. Then, create a style.css file within your theme folder. At the top, add this information:

/* 
Theme Name: My Hybrid
Theme URI: http://link-to-your-site.com
Description: Describe what your theme should be like.
Version: 0.1
Author: Your Name
Author URI: http://link-to-your-site.com
Tags: Add, Whatever, Tags, You, Want
Template: hybrid
*/

Now, you have your own theme! Of course, you might want to style it.

Here's three stylesheets that will help you get started. Just add this to your stylesheet.

/* Get base CSS */
@import url('../hybrid/library/css/base.css');

/* Get default Hybrid CSS */
@import url('../hybrid/library/css/default.css');

/* Get the plugins CSS */
@import url('../hybrid/library/css/plugins.css');

The base.css resets all browser defaults and sets up some nice typography for you to start with. The default.css is the default theme CSS that you can overwrite. And, of course, plugins.css sets some default styling for supported plugins.

Theme Support

The most authoritative source for finding out how to use the theme or do some nifty stuff is the theme documentation. I'll constantly update it with tutorials and frequently asked questions.

We also have a vibrant community at the Theme Hybrid Support Forums. If you ever lose the link, you can find it right from your Hybrid Settings page in your WordPress dashboard.

Built-in support for plugins

Frameworks & Other Code

Hybrid owes a lot of thanks to several CSS frameworks and code other people have worked hard at putting together. The default styles and extra stylesheets take ideas and code from many different frameworks and stylesheets, which are also included for your use. Video attachment handling is done with Flowplayer. The SimplePie PHP class is included for parsing feeds if we need to do that.

Credit

I don't know if I can come close to naming all the people that should be credited, but I'll list some of the main folks.

Copyright & License

Hybrid is licensed under the GNU General Public License, version 2 (GPL).

This theme is copyrighted to Justin Tadlock and Theme Hybrid.

© 2008 Justin Tadlock