Customizer makes things easy and more difficult at the same time. Customizer is great for your clients to use on their websites. It means they can easily adjust things like color schemes, logos etc in your themes. But it can be hideously difficult for us developers to add such features to our own themes.
Now there seems to be an answer, which I am enjoying exploring and working with. It is called Kirki. Kirki is an open source plugin, so you could add it to the WordPress site really easily, and just get working with it. However – and this is the bit that I really like – Kirki’s developers have made it so that you can add their code into your own themes, and then, with a few extra functions in your theme’s functions.php file, you can integrate everything nicely into your theme. And that is precisely what I have started to do with my Columcille theme, which I have built for my son’s ESL training business.
I have recently changed my themes’ workflow. I developed a base theme, some while ago, called Qohelet, which is actually rather ugly, but it was really intended for building other themes from. Qohelet was not original. It really involves my tweaks onto another developers’ theme called Quark. In its turn, Quark was developed from Underscores (_s), and incorporated Biolerplate, Normalize, Modernizr, and Options Framework. But even the developers of Options Framework are now suggesting it is obsolete, and that we should concentrate on Customizer. So I added Kirki into Qohelet.
Now, I originally started building other themes by simply copying Qohelet and adding more code. But this seems wasteful. So I am now concentrating on all my new themes simply being child themes of Qohelet. Columcille is a child theme of Qohelet. So the basic Kirki code is in Qohelet, but its actual use in making panels is being added to Columcille. It is a fun process, and I am confident that i should shortly have got all the extra features I want in Columcille so that they can be edited easily by my clients from the Customizer.
I’ll try to keep you up to date with how it works.