WordPress Framework Themes: The Hidden Gotcha!
A normal part of a WordPress project is to have the website owner choose their basic site structure by choosing a theme from WordPress.org. There are thousands of themes to choose from. The themes on WordPress.org are free, although many of them have a paid (premium or professional) version. The hidden “gotcha” is that some of those themes are framework themes that override the way WordPress works and others are straight themes that stick with how WordPress is designed to work. There is the difference. Framework themes give you tools to work on your design right in the dashboard, but there is a hidden cost for later.
Think of a car with loads of options: on-board video, seats that adjust in every way possible, individual heating and cooling controls, etc. Wonderful! Luxurious! … and expensive to maintain. Every system has it’s own maintenance and it’s own breakdowns. And, all those options in a framework theme make it easy to do even more work on your website. But, in the process of making all those mechanisms available, not all of them can be easily accessible. So, you may have a simple repair task that requires the engine being pulled.
One of the factors to check in reviewing themes is how tangled the internal systems are. The severity of the “gotcha” depends on the quality of the framework theme. There are a few high quality framework themes, such as Genesis, that are highly regarded. But, I have worked with a few framework themes that have resulted in a significant amount of extra charges for clients, as I weed through some really bad planning and coding. Their attempts to provide an environment where “no coding is needed” makes the work more difficult than learning how to code.
Background: Child Themes and the Dashboard Customizer
Whenever possible, it’s best to use the WordPress core functions. The WordPress core offers two methods for changing design features of your website: 1) creating a child theme, 2) using the Customizer. The original way that WordPress offered to customize your site, based on a parent theme was to create a child theme, but this requires coding. To allow site owners to have control over their design without coding, framework themes popped up from third party software companies. And alternative sites, such as Theme Forest were developed to deliver those framework themes. With the framework themes and sites to sell them came hundreds of poorly written frameworks.
To offer site owners a way to control their theme, but stay within the WordPress system, the Customizer was added to the WordPress core. Plugin writers can work within the WordPress core and give website owners options to manage the layout of their site. The Customizer makes the interface consistent from theme to theme. That consistency fixes one of the problems with framework themes in shortening the learning curve from theme to theme.
Example 1: Thesis Theme
Supposedly Thesis Theme has a way to create a child theme, which is the way the WordPress core is set up for customizations. But, their documentation is minimal, so, it’s not really true. What they have done is turned off the normal WordPress function of child themes and allowed you to put your own design inside their system.
In their system, you can add a “skin”. They also have a system to work on the default skin. That’s what makes it a framework. You can make design changes within the dashboard, instead of in the files. But, you are limited to the design changes they let you have. And the changes go into the database, instead of into the files. All those database calls makes your site take longer to load.