4264 posts ThemeForest Reviewer
  • Envato Staff
  • Reviewer
  • Community Moderator
  • Repeatedly Helped protect Envato Marketplaces against copyright violations
  • Venezuela
  • Has been a member for 5-6 years
  • Microlancer Beta Tester
  • Sold between 10 000 and 50 000 dollars
  • Exclusive Author
+9 more
Ivor Reviewer says

I notice a lot of buyers complaing about themes updates and how they lose all their customizations after you [author] update your theme, adding features, fixing bugs, etc. this is definitely a huge problem.

As some of you may know there’s an effective way and it’s a best practice to edit themes using Child Themes which is pretty easy to make, maintain and edit without touching the core files of the theme.

I’ve made a really quick video of how I think we should edit WordPress Themes using the Child Theme method.

PS: Let me know what you think. Feel free to use this video in your documentation.

Edit Themes

1028 posts
  • Elite Author
  • Sold between 250 000 and 1 000 000 dollars
  • Author had a File in an Envato Bundle
  • Bought between 50 and 99 items
  • Exclusive Author
  • Has been a member for 4-5 years
  • Referred between 500 and 999 users
+1 more
ThemeBlvd says

Thanks Ivor, I’ll definitely look into this before publishing the next WP theme I’m finishing up.

1383 posts
  • Bought between 10 and 49 items
  • Exclusive Author
  • Has been a member for 4-5 years
  • Referred between 10 and 49 users
  • Serbia
wpCanyonThemes says

Great video Ivor :)

And i completely agree, all customizations on a theme should be handled by creating a child theme.

But i would like to see this pushed even further, since i bet 99.9999% of the themes here (including those i created) don’t give the buyer ability to change functions from the functions.php file, only the ability to change the CSS .

Now, i’m not saying it should be obligatory for authors to make their themes that way that the buyer can alter the functions with a child theme, but just a nice little optional feature.

1028 posts
  • Elite Author
  • Sold between 250 000 and 1 000 000 dollars
  • Author had a File in an Envato Bundle
  • Bought between 50 and 99 items
  • Exclusive Author
  • Has been a member for 4-5 years
  • Referred between 500 and 999 users
+1 more
ThemeBlvd says

Guys, I just have a couple quick questions…

1) In sort of referencing the example in the video, the user makes their own header.php file in their child theme by copying and pasting, and then making the desired changes. So, then the theme author makes some change to header.php in an update to the core files of the theme that is required to make something work somewhere else, the user updates the theme, and because their child theme and now modified header.php file don’t reflect the author’s changes, they’re going to get some error message possibly and have no idea how to fix it? Doesn’t that kind of put you in the same boat? Just wondering if I’m not understanding something there?

2) What’s the best way to actually package the theme and child theme in the TF download package? Generally, I include a theme-name.zip file inside my main ZIP the user can either upload via WP admin, or unzip and upload manually. So, would I include a second package called like theme-name-child.zip that they could additionally install if they wanted?

3364 posts
  • Elite Author
  • Sold between 250 000 and 1 000 000 dollars
  • Community Moderator
  • Bought between 50 and 99 items
  • Referred more than 2000 users
  • Has been a member for 3-4 years
  • Repeatedly Helped protect Envato Marketplaces against copyright violations
+4 more
sevenspark Volunteer moderator says

Great job, Ivor. I always try to explain this to buyers – this’ll be great. Maybe make this post sticky? I think a lot of buyers don’t even read the docs – where it is explained how to do this so they won’t lose customizations during updates – but maybe they’ll spot it here instead :)


Now, i’m not saying it should be obligatory for authors to make their themes that way that the buyer can alter the functions with a child theme, but just a nice little optional feature.

I agree that themes that implement the hook and filter system extensively are much more versatile for advanced buyers. I wonder if adding a product note like “This theme is highly extensible via hooks” (similar to the “Well Documented” note) might be useful for buyers looking for this type of functionality and encourage authors to work these practices into their themes.

1383 posts
  • Bought between 10 and 49 items
  • Exclusive Author
  • Has been a member for 4-5 years
  • Referred between 10 and 49 users
  • Serbia
wpCanyonThemes says

Guys, I just have a couple quick questions…

1) In sort of referencing the example in the video, the user makes their own header.php file in their child theme by copying and pasting, and then making the desired changes. So, then the theme author makes some change to header.php in an update to the core files of the theme that is required to make something work somewhere else, the user updates the theme, and because their child theme and now modified header.php file don’t reflect your changes, they’re going to get some error message possibly and have no idea how to fix it? Doesn’t that kind of put you in the same boat? Just wondering if I’m not understanding something there?

2) What’s the best way to actually package the theme and child theme in the TF download package? Generally, I include a theme-name.zip file inside my main ZIP the user can either upload via WP admin, or unzip and upload manually. So, would I include a second package called like theme-name-child.zip that they could additionally install if they wanted?

1) Dunno about this one, not an expert in child themes.

2) Well the buyer makes the child theme himself, no need to include it.

1028 posts
  • Elite Author
  • Sold between 250 000 and 1 000 000 dollars
  • Author had a File in an Envato Bundle
  • Bought between 50 and 99 items
  • Exclusive Author
  • Has been a member for 4-5 years
  • Referred between 500 and 999 users
+1 more
ThemeBlvd says


Guys, I just have a couple quick questions…

1) In sort of referencing the example in the video, the user makes their own header.php file in their child theme by copying and pasting, and then making the desired changes. So, then the theme author makes some change to header.php in an update to the core files of the theme that is required to make something work somewhere else, the user updates the theme, and because their child theme and now modified header.php file don’t reflect your changes, they’re going to get some error message possibly and have no idea how to fix it? Doesn’t that kind of put you in the same boat? Just wondering if I’m not understanding something there?

2) What’s the best way to actually package the theme and child theme in the TF download package? Generally, I include a theme-name.zip file inside my main ZIP the user can either upload via WP admin, or unzip and upload manually. So, would I include a second package called like theme-name-child.zip that they could additionally install if they wanted?

1) Dunno about this one, not an expert in child themes.

2) Well the buyer makes the child theme himself, no need to include it.

So, there’s nothing the theme author actually needs to do to make their theme “compatible” with child themes?

And including the theme-name-child.zip (with just a blank style.css and proper folder name all setup for them) and a little supporting documentation might also encourage buyers to use this method, as well?

4264 posts ThemeForest Reviewer
  • Envato Staff
  • Reviewer
  • Community Moderator
  • Repeatedly Helped protect Envato Marketplaces against copyright violations
  • Venezuela
  • Has been a member for 5-6 years
  • Microlancer Beta Tester
  • Sold between 10 000 and 50 000 dollars
  • Exclusive Author
+9 more
Ivor Reviewer says

Thanks a lot for the replies guys,

This video was initially for TF’s customers, the buyer need to make the child theme himself as Slobodan says.

@Jason

1) That’s a good question this is a nice article to understand a little bit more about it – http://themeshaper.com/modify-wordpress-themes/


So, there’s nothing the theme author actually needs to do to make their theme “compatible” with child themes? And including the theme-name-child.zip (with just a blank style.css and proper folder name all setup for them) and a little supporting documentation might also encourage buyers to use this method, as well?

That’s right, there’s nothing you have to do :) and that sir is a good idea, pack your blank child theme and the buyer will be ready to go.

1383 posts
  • Bought between 10 and 49 items
  • Exclusive Author
  • Has been a member for 4-5 years
  • Referred between 10 and 49 users
  • Serbia
wpCanyonThemes says

@themeblvd

Might encourage them but if they know nothing about it it might confuse them :)

Nothing is needed to make your theme “child theme compatible” BUT only when it comes to CSS and templates changes, you do need to do a bit extra work to make your functions.php “child theme compatible”.

Style

Child theme style.css overwrites original style.css (that’s why you include the original style.css in the child theme style.css)

Templates

Child theme template file (header.php, index.php, single.php…) overwrites the original template file

Functions

Child theme functions.php does NOT overwrite the original functions.php, it’s just included at the top of the original. So to make your theme “compatible” for that you need to make your functions “pluggable” (i think that was the name), which means every functions should look like:

if(!function_exists('the_function_name')){
    function the_function_name(){
        //Do whatever the functions does
    }
}

So when there is a function with the same name in the child functions.php file then there will be no nasty white screen “function already defined” errors and the original function will be replaced with the one from the child theme :)

548 posts
  • Bought between 100 and 499 items
  • Has been a member for 3-4 years
  • Referred between 1 and 9 users
tonvie says

I haven’t read this whole thread but upgrades are definitely the worst part of theme purchasing. Half the time I wait to buy a theme no matter how great it is until the 2nd or 3rd update. You’re getting my money, just later than sooner ;)

Things are getting better. I think some defnitely depends on how the author arranges their files too. Admin panels are getting better about letting you export your settings too…

But I always dread the upgrades. Last night I did two. 1 upgrade took 5 hours even with file compare tools etc. (yeah my fault I didn’t document all the changes like I should have, I’m learning).

And then I do another update to the theme “Versatile” and it goes off without a frickin’ hitch! Maybe System32 had his files better separated?

So I think it’s somewhat author dependent. But anything you can do to make it easier for us chimps would be much appreciated and maybe the child thing is the answer! Ok, I’ll actually read this thread now :)

by
by
by
by
by
by