Widgets or shortcodes for themes

(Zackary Allnutt) #1

All my themes thus far have been shortcode based but I know many themeshops use widgets and some page builders like layers and beaver are widget based as opposed to shortcode based.

What are your thoughts on each method? pro/cons.

If you buy themes, which do you prefer? If you sell themes, do you find widgets generates less support? Seems like like they would be easier for customs to use?

(Leland Fiegel) #2

I’m not a fan of any “plugin territory” functionality baked into themes, including (but not limited to) everything you’ve mentioned: widgets, shortcodes, page builders.

The one major con is when the theme is switched, all that data appears to be lost or broken (i.e. unparsed shortcodes). Of course, that can be a pro depending on how you look at it, as it discourages users to switch away from your themes. But then that you’d have to deal with angry support emails, bad reviews, etc. I think it’s just a bad idea overall.

If I were to do something like this, I’d make a plugin called something like “[Your Theme Shop] Shortcode Pack” and include all the common shortcodes that are shared between all your themes. That way, you’d only have to maintain one codebase. And, it could have appeal outside your own themes, leading people to check out your work that otherwise would’ve never heard of it. Could also include widgets in there too.

I’ve completely avoided including page builder functionality directly in the theme. Instead, I’d just make sure my theme works fine with an existing page builder plugin. Beaver Builder (@RobbyMcCullough) is a popular one. I’ve also been hearing very good things about Tailor (also a member here: @andrewworsfold).

At the same time, it’s hard to deny that page builder themes can be extremely popular. And my themes are not exactly best sellers. So I’d take my advice with a grain of salt.

In any case, I’d prefer to keep my focus on the aesthetics of things, letting others focus on the theme-agnostic functionality. I believe it’s the best plan for the long-run, to avoid getting drowned with technical debt.

(Zackary Allnutt) #3

I certainly wouldn’t bake any shortcodes into the theme. I did that with my first theme before I knew any better. My shortcodes are in a separate plugin.

But actually, never had one angry email about that, out of almost 900 sales. Any complaints generally involved around not enough options… This was a Themeforest crowd though, that are very used to lot’s of options and very used to themes being build around a page builder - and expect it.

That theme was also built on visual composer and that was a huge mistake. It was my #1 cause of issues and support requests. I regularly had to release updates to be compatible, plus if they introduced a bug, I had miffed customers. I didn’t build in but it was sold to use it. Amounts to the same thing - I have to keep it compatible.

I completely agree with trying to keep down the technical debt. Having been down that route, I’m highly wary of going down that route again. Even if it costs me sales, because if more sales cost more in terms of support and maintenance you can make less profit.

(Leland Fiegel) #4

Very interesting. Although not surprising considering the audience, I suppose.

Exactly. That’s my philosophy.

(Zackary Allnutt) #5

I really like your idea of being page builder agnostic. That’s the route I’m going to go down. Although, I would still need to build maps for most page builders. Just going to avoid extending anything other then creating custom modules. That was my mistake before, as well as bundling it.

I now think that plugins should never be bundled.

I like the look of tailor. Looks like it’s shortcode base but renders them. That means it wouldn’t be too much of a upheaval for me changing from my current setup.

(Jeffrey Carandang) #6

If you’ve decided to use widgets, this plugin of mine will be of great help : http://widget-options.com/ . Thanks!


(Zackary Allnutt) #7

I am using the customizer for this specific theme but looks interesting.

(Jeffrey Carandang) #8

I see! It do support customizer widgets also. I hope the plugin will be very helpful. Thanks!