Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I've read a lot of discussions here and elsewhere about creating a child theme being the recommended way to create a theme based on some other existing theme.

I'd like to know about possible performance disadvantages of such approach, compared to creating a non-child theme.

It seems that a parent-and-child-theme approach has to deal with loading a hell of a lot more files than a single theme – unless I'm missing something in the codex explanation. And if so, it has to slow down loading, probably significantly.

I would appreciate if someone could clarify this for me.

share|improve this question

1 Answer 1

up vote 1 down vote accepted

When you set a child theme, basically WP looks into 2 directories to see if there are some overriding to make. So it adds some impact on performance. The use of @import in child CSS can also have some bad impact on performance grade.

Most of the time, it depends on the parent's theme quality. For example if the developer has prepared his theme for child theme you should find a if( !function_exists() ) before his functions. That allows you to easily modify function in your child theme simply because child functions.php is loaded before unlike other files.

What I like to do to customize a child theme is to add my own class to the body and play with selectors because I hate using !important in CSS code :

add_filter('body_class','_add_child_theme_body_class');
function _add_child_theme_body_class($classes) {
$classes[] = 'your-class';
return $classes;
}

Then I can style like that :

.your-class #page {}

You have to ask yourself about what you want to do. We use child theme for maintenance. But performance is definitely a drawback.

You may counterbalance this with some good caching solution.

share|improve this answer
    
Thank you, that's what I wanted to hear. –  Astoria Aug 28 '13 at 20:37

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.