Hey Thierry, I knwo that many non-technical Wordpress users are scared of the hole parent and child themes thing. They don't use such themes, because they don't know whats going on.
Is there a way to merge Beans and the child theme, to make our themes more accessable for unexperienced users? Or doesen't that make sense at all?
thanks j0e
Hey Jochen,
I moved your query in the extend category and modified the title as I think it is a very valid topic which will come up more often in the future.
Building parent themes for distribution makes sense if you are going to build advance themes. The main reason is for updates. If you build a child theme, users will make their modifications straight into it and as the developer, it doesn't allow you to push updates since it would overwrite their changes.
Using Beans as a framework in parent themes
If you look at Beans parent, everything is done in the /lib
folder on purpose. The functions.php
includes the framework (just like the child themes do) and all the other templates file only call the default template file located in the framework too. That means that when changes are made to Beans Core, it is always done in the /lib
folder which allow third party developers to build their own parents themes using it.
All you have to do is take Beans and rename it to your theme name, then you can start adding your modification just like you would do in your child theme (not in the /lib
folder).
Important note
- When using Beans as a framework in your parent themes, you will have to manually update the
/lib
folder and push an update for your theme when a new version of Beans comes out. This is a maintenance step which very important to keep in mind as the developer of a parent theme and something which you don't have to do when building child themes. - Never ever make modifications in the
/lib
folder (Beans framework) as it is what you will have to replace when a new version is available.
I am opening this topic to all third party devs as it is really something we hope to grow in the future.
Happy coding,
Ok, to do so is pretty simple. Also updating the Beans core seams to be verry simple.
So the decision is by the dev, if he wants to serve a child theme for Beans or a new parent theme.
Yes that is correct, the different is also that if you build your own parent theme, the user will be able to extend it using a child theme just like you do with Beans core.
For distrubition, I think the choice depends on the theme purpose. If it is to just setup a base with some minimal structure and color changes which act more a great starter poing for users, then child theme make sense. If you it is more advance and the plan is to keep on improving it over time, then a parent theme make more sense.
The truth is that building parent themes will require maintenance for the dev as every time Beans release an update, you will have to update the /lib
folder in your parent theme an push an update too. The last thing you want is your parent theme to run a outdated version of Beans so if you choose to distribute a parent theme you commit to the on going development, something which isn't the case for child theme since it is more a once off thing 🙂
Yes I understand your thoughts about keep the parent theme updated.
But to start with your own parent themes with Beans is also a little bit risky. Because you build you fundament on Beans and UIkit, right?
Well all you have to do when a new version of Beans is released is grab the new /lib
folder from it, replace your parent /lib
folder with it and push an update for your theme. This means that you have to keep an eye on Beans development and make sure you do that everytime a new version of Beans is released.
It is very easy step and but it still has to be done 🙂
Yes thats clear.
What I meant is, if UIkit or you stop the development, the foundation of the new parent themes will getting old.
PS: My Chrome spell check isn't working here in the bbpress editor. Is it working for you?