In reply to Chip Bennett.

Yes and no. Embedded shortcodes in a Theme is “generally” a bad idea – this rule of thumb pertains to shortcodes that can exist as independent functions, e.g. a twitter box or something that can naturally exist independently of the theme. The reason you want this is because once you swap over the theme to another your embedded bits will break. Very logical.

But building a theme on a framework poses an exception to this rule in that;

A) the shortcode widget is dependent on the framework, e.g. a foundation button - remove the theme and its framework and the button does not work, and if the shortcode was isolated (as the rule of thumb for shortcodes dictates) and you would have 1) duplicated frameworks (if both the theme and the shorcode widget used the same framework), or 2) two separate frameworks (assuming you used a different framework when you swapped out the theme; e.g. a bootstrap theme, with a foundation button),

B) by building a website based on a freamwork implies that you both commit to its UI and want to leverage all of its features. For example - what’s the use of adopting a Foundation based theme if you can’t use nested columns, or Magellan, or Orbit? Changing your theme also implies that you no longer need things like nested columns, or "warning buttons" etc., that are framework specific.

C) The framework widgets served by shortcodes will only exist within that framework (read as theme); separating it serves no purpose as 1) isolation breaks the widget (in that it’s dependant on the framework/theme), and, 2) for those whom profess lightweight abstraction (just the theme, no widgets for a lighter install), removing the core goodies of the html/php code does not necessarily remove it from the supporting CSS and JS files. --- besides if you wanted a lightweight theme then build one that not dependant on a heavyweight framework.

***

Rules of thumb are called that because they’re not always applicable, they’re just the rules that in most cases are best – one should use common sense in deciding if the rule applies or not. This leads to opinions that differ from one person to another. What erks me is that some internet proponents pass on their opinions as the only correct way. So – here is my opinion – this is the way I do it and I offer it as one of many recommendation others may have – it’s up to you (dear reader) to validate each one to see if it fits your needs: Shortcodes in a framework based theme are necessary to leverage all the feature sets of the framework – separating serves no purpose.