If you’re in the business of selling WordPress themes, and you require you’re users to have a parent theme, I think you’re doing it wrong. All the parent theme is doing is providing functionality, for the most part. Then a user has to install a child theme, to even utilize the parent theme. So what if the user wants to customize the child theme? A grandchild theme plugin can do that. So now you have the parent theme, child theme, and plugin to override child theme.
Functionality should be in a core plugin, even though I used to think this was ass backwards. This way, you’re selling parent themes. Then like child themes were meant for, the user can create a child theme and override what you’re selling. Makes sense right? Then why don’t see see enough of this?
That’s the why I’m starting to do it. One core plugin drives all themes. Core plugin can be updated independently, and is encapsulated. Everyone wins here with less code, and less confusion.
With WordPress you have several different ways to package and sell themes. I want to talk about why I choose the direction we did, and hopefully it spurs some debate that could lead to better practices. As it sits now the options are all over the place.
Lately I’ve been seeing a new trend developing with digital publishing; long-form interactive storytelling. It probably started long before this, but my first recollection of interacting with an engaging story on the web, was with NY Times Snowfall. Then a few months after that, I was contracted to program the Modern Farmer website. In this project, they have a lot of “Super Features” which are simply posts, designed for consuming long-form content.
Little did I know, these were seeds that were being planted. I was unknowingly garnering the experience with the design and development of rich, interactive, story telling on the web that I would then use later on. A few months passed, when I started seeing more of these sites pop up again. Now, beautiful designs for longform reading were coming out of the woodwork from sites like Medium, and Svbtle. Then Creatavist comes out, with their interactive digital publishing platform. Then last night, I happen across this article from Manage WP, pretty much validating what I already was thinking. For me this was a sign, and it hit me like a ton of bricks; I can build this shit on WordPress.
A lot of WordPress frameworks bundle everything you need to build a website with, ready to go out-of-the-box. Therein lies the problem; people have different types of needs. So an effort is made to provide as many options, and things as necessary, to make a generalized website possible, with little code.
It takes a lot of kruft to make that happen.
A toolkit on the other hand…a good toolkit will last a lifetime. A good tool doesn’t break. A good tool is lightweight, reliable, fast, efficient, and robust, with no confines. A good tool shouldn’t inhibit your creativity, but help flourish it. A good tool, should help you along your way.
I’ve been building stuff on the web for a long time now. I’ve been through the gauntlet of web builders, frameworks, and the like. I’ve seen great things happen, and great things fall. The whole entire time I’m thinking, I can’t wait until I know how to build this shit myself. To build it the way I want it, to build it the way I see fit. To solve frustrations from end-users stemming from a lack of responsibility, and to give developers something they won’t have to fight with just to make great things happen.