Starter Theme vs Parent Theme? Pros and cons

I totally agree with Rarst. I just want to add some small things.

Note: I differentiate parent theme and framework. In my answer, I consider parent theme like TwentyEleven where it’s mainly created for a specific website and less hooks than a framework.

Starter theme:

Pros

  • Easy to customize at HTML level. I mean something like open <div>, custom CSS class for an specific element. It’s a good way to create a very minimal theme for personal blog where you don’t need many things that parent theme provides (or at least if you use parent theme/framework, you have to hook to remove them). You can also echo special part of HTML like an iframe that refers to another website or just a ‘Hello text’ much more easier than using a parent theme.
  • No need to duplicate template file from parent theme just to change small things.
  • No need to learn something new like hook map, custom syntax, custom functions, etc. Those things are what developers love, but not all users.

Cons

  • As it’s a starter, you have to do many things to get your theme done: CSS, custom templates, etc. You might don’t want to do that if you’re too lazy!

Parent theme:

Pros

  • Has a completed design that you can easily tweak by changing small lines in style.css like changing color, font size, etc.
  • Is a completed theme, meaning you can you it right away without worrying about something like comment template, single page template, etc.
  • Someone has built it for you!

Cons

  • Parent theme should be consider as good if it mostly matches your requirements, so you can tweak it as less as possible. Otherwise it’s a nightmare
  • The ability of customizing is not too high. I don’t mean the hook system that you can see in frameworks here (see frameworks below). If you want to strongly customize it, you have to rewrite most template files – which means you’re recreating the theme, and that’s not the purpose of using parent theme.

Framework:

Pros

  • Everything is available: framework is often made as a all-in-one solution, so it has a great ability to create any type of websites. You need custom logo? color picker? drag & drop? theme layout? … you already have them in your hand.
  • Build website faster if you’re familiar with it
  • Has a complete hook system that allow users to hook in many place to change many things that framework provides
  • High level of customization: not only in hook system, but many frameworks like Catalyst, Headway give you ability to customize almost every elements right in the admin without touching CSS or hook.

Cons

  • User has to learn the framework (hook system, get familiar with its features, settings, even new terminology) to use it efficiently. I consider this as the biggest disadvantage of framework because WP already has many things to learn, and not all users want to learn a new thing just to use WP better. Those things are what developers love, but not all users. Users are people who just use, not learn & customize.
  • Redundant code: Some parts of the frameworks are coincident with WP features which causes the duplication. Example can be genesis_meta() (not needed as we have wp_head).
  • Performance: because frameworks has everything needed => it has to load all needed files for admin/frontend that you might don’t use at all. For this point, I prefer the way Hybrid Core loads its files (by using require_if_theme_supports function)
  • The default look is often minimal and bad. We have to work much to make the design done. The process is similar if you’re using a starter theme, but you use hooks instead of custom templates like in starter themes.
  • Framework has its own philosophy that leads to different ways to build frameworks => leads to many frameworks => we don’t know which one is best for us (specially when they’re premium). That’s not too good, because as I said above, framework is good for developers, and developers need to look deeply into the code to see how it’s good! If framework is premium, that door is looked!

Last thing: all starter theme & parent theme & framework can be used for any site if it’s easy for you to customize to achieve the final result. There’s not one solution for all situations. We have to pick which one can help us most, maybe this time the starter theme is good, but in another time – a framework. By the way, working with all of them can give us much experience that help us in many situations, not only when creating themes!

Leave a Comment