(Originally posted on Building43, Rackspace’s community website)
Frameworks have become increasingly popular among developers. There’s Rails for Ruby, Blueprint for CSS, and Thesis for WordPress.
Thesis provides a solid foundation for building WordPress sites. It’s designed with SEO in mind and offers extensive design controls that cover most theme adjustments. Beyond the settings panels, customizations are stored in two dedicated files, which improves code reuse and makes future theme upgrades straightforward.
Popular blogs use Thesis, and many developers prefer it because it avoids the need to build a theme from scratch for every project.
Design Options
When you install Thesis, two main configuration pages appear: Thesis Options and Design Options.
The Thesis Options let you configure site-wide behavior and integrations, for example:
- Switch your RSS feed to a service like FeedBurner
- Add header and footer scripts for analytics or other tracking
- Control how posts are displayed across the site
- Customize navigation: choose which pages to show, reorder them with drag-and-drop, and enable automatic dropdowns for child pages
- Set default image and thumbnail sizes so you don’t have to manually resize images for each post
The Design Options control appearance and layout, including:
- Select the number of columns (1, 2, or 3), their pixel widths, and their arrangement
- Choose page or full-width layouts to accommodate headers and footers that span the browser
- Set font families, sizes, and colors for headers, navigation, content, sidebars, and the footer
- Configure the multimedia box (above the sidebars) to show rotating images, video, custom code, or hide it entirely
Further Customizations
When you’re ready to edit code, work in the custom folder. Put CSS changes in custom.css and prefix rules with the .custom selector so they override the default styles without altering core files. This makes your changes non-destructive and easy to remove or tweak.
For example, to replace the blog title in the header with a logo, upload your image to /wp-content/themes/thesis/custom/images and add CSS in custom.css that targets .custom #logo so the logo replaces the text while preserving the underlying structure.
HTML and PHP edits belong in custom_functions.php. Thesis relies on functions and hooks rather than direct edits to theme files. You create functions for your custom output and attach them to Thesis hooks. For instance, a simple function might look like:
function my_new_function() { echo 'Hello World'; }
You then attach it to a hook:
add_action('thesis_hook_name','my_new_function');
Using hooks lets you move or extend elements without editing core theme templates. For example, moving the navigation below the header is done by removing the nav from one hook and adding it to another:
remove_action('thesis_hook_before_header','thesis_nav_menu'); add_action('thesis_hook_after_header','thesis_nav_menu');
Another common customization is adding an extra sidebar for footer ads that can be managed from the Widgets screen. In custom_functions.php you register a sidebar, create a function that outputs it, and attach that function to a footer hook. The registration sets the sidebar name and the HTML that wraps widgets and titles, and the function calls dynamic_sidebar to render the widgets in the theme.
Thesis is usable right out of the box, but its Design Options and hook-based system make it highly adaptable for both designers and developers. By keeping presentation changes in custom.css and behavior in custom_functions.php, you maintain a clean upgrade path while tailoring the theme to specific requirements.