You Don’t Need A WordPress Child Theme. But is it true?

We are a WordPress agency and we are working with WordPress for a long time. But just now we met a customer with whom we had a discussion about if a child theme should be used for his WordPress website for about 3 hours. His main argument was the video of Adam Preiser “You Don’t Need A WordPress Child Theme Most Likely”. With all respect to the customer and Adam Preiser I am going to try to sort it all out.

There are some of his ideas that I can agree with, but not with all of them. And the first thing that I really like in Adam’s video is that he starts his video with words: “If you don’t know if you need a child theme with your WordPress website you probably don’t”.

Yes, there are a lot of WordPress website owners that in reality don’t need a child theme.
The reasons for that are

  1. They are not developers and they maintain their WordPress website by themselves
  2. Their websites are too simple, theme and page builder settings allow them to do all that is needed. But there are some limits and disadvantages in page builder, for example, they can make your website slow, you should know this.
  3. There are almost no custom design and functionality on their websites. WordPress core, theme and plugins styles and functionality fit to their business at least on 90%

But let’s back to thoughts that were announced in the video. The main disadvantage of using a WordPress child theme is that after changing a parent theme all changes should be applied to a new parent theme. I’ll give feedback to this idea a little later.

What Adam Preiser suggests to do not to have these issues.

  1. To add custom CSS in the customizer or to use plugins like Simple CSS
  2. To add custom functionality with the help of Code Snippets

Yes, after deactivating a parent theme changes are going to follow the theme and separated from the theme functionality is better to keep separate. Sure, the child theme is needed mainly for changing the parent theme. But I don’t think that to keep code in snippets or plugins, WordPress core settings is always a nice idea.

  1. It’s much better to create a plugin for some functionality. For the business owner this means that in some cases it’s better to ask developers to create a WordPress plugin, than to add functionality with help of child theme or Code Snippets. But yes, no sense to create a plugin for a really small snippet.
  2. Not to create a mess in the CSS code, not to duplicate or overwrite rules and not to make your WordPress website slow at the end it is much better to use SCSS and you definitely should use a child theme for this.

Also, if you follow Adam Preiser suggestion you should remember that if you are going to write CSS in the customizer you won’t need it after changing a parent theme. The old styles even can break the appearance of new theme.

To give the right base for you to make a correct choice I’ll give a few more my thoughts.

“There’s no harm in having it…” (Adam means child theme).
Totally agree with this.

If you are not a developer, you don’t have a goal to become a developer, you maintain your own simple WordPress website and there is no more than 5-10% percent of things you would like to change and you know CSS and base of PHP you may not to use child theme and try to do what you need by yourself. Otherwise, you can try to make your choice according to what you read above or to use the help of a professional WordPress agency or developer to make the correct choice.

If you are a developer you should use child theme but just for things you really need it.
Do not use CSS, SCSS will make your code cleaner and prevent you from duplicating the code.
Use compilers to combine JS, prepare CSS file from SCSS files and to compress images.
There were some reasons to use a child theme with a WordPress website.

Clean, professional, optimized code is a key to have a successful project and business that will be easy to maintain and update. Remember this, it doesn’t matter a business owner or a developer you are.

Leave a Reply

Your email address will not be published. Required fields are marked *