There are an impressive array of WordPress themes available which can completely change the look and feel of your site, with only a few clicks. However, sometimes we need to tweak a theme, but editing the CSS file or functions.php file directly is not a good idea, because when the theme updates, which it surely will, those modifications will be over-written.
I had this problem recently. I was using the Customizr Pro theme on a website, but the links to social media accounts were all set as dofollow. To change these to nofollow, I needed to add a function to the functions.php file. However, if I added it directly to the main theme's function.php file, then when the theme updated, I'd lose those customizations. The answer was to create a child theme.
The following video shows a really cool plugin I used to create the child theme for me.
I've tested the plugin on the Customizr Pro theme that I use on this website and it worked well, though I did need to re-arrange widgets in the child theme and reselect menus, but that was no big deal.
I cannot guarantee that it will work on any theme, though the description does say “Create child themes from any non-child theme directly from the Theme Customizer panel.” If you try this one and it does not work for you, then there are other child theme plugins in the repository. Just search for “create child theme”. You'll find a number of options, some with good reviews:
If you have used any of these plugins, please let me know which one in the comments, and whether it worked OK. If you have just done it manually, I'd like to hear from you too. Comments below!