2002 posts
  • Has referred 50+ members
  • Has sold $500,000+ on Envato Market
  • Has collected 10+ items on Envato Market
  • Elite Author: Sold more than $75,000 on Envato Market
+9 more
bitfade says

As you might already know, this introduces a compatibility issues: Starting with jQuery 1.9, all previously deprecated methods have been removed, therefore it might break old code relying on those deprecated methods.
imho, you should remove the jQuery part, even if optional. Inexperienced buyers would still enable that option without knowing the implications, some plugins would break, and they’re going to require support from either you or the plugin author.
11 posts Performance Experts
  • Has referred 1+ members
  • Has sold $75,000+ on Envato Market and is now an Elite Author
  • Has collected 1+ items on Envato Market
  • Elite Author: Sold more than $75,000 on Envato Market
+3 more
JoNa says


As you might already know, this introduces a compatibility issues: Starting with jQuery 1.9, all previously deprecated methods have been removed, therefore it might break old code relying on those deprecated methods.
imho, you should remove the jQuery part, even if optional. Inexperienced buyers would still enable that option without knowing the implications, some plugins would break, and they’re going to require support from either you or the plugin author.

Most buyers purchase my themes for their PageSpeed performance, and I can say after a few thousands sales that I received very few support requests related to the Speed Mode or the jQuery options. I believe that the very clear documentation included straight in the backend and displayed next to each option helps a lot! :)

Inexperienced buyers would still enable that option without knowing the implications
By the way, it’s the other way around: currently all my themes and templates come with the most recent version of jQuery, with both the jQuery Migrate plugin and noConflict() mode disabled by default.
607 posts
  • Member of the Envato Team
  • Had an item featured in an Envato Bundle
  • Made it to the Authors' Hall of Fame
  • Contributed a blog post
+10 more
Siddharth Envato team says


In the mean time, Sid, our Review Projects Lead and CodeCanyon Senior Reviewer, will be available for awhile longer to answer questions.
BRAAAIIINNSSSS ….. i mean, glad we’ll had somebody fresh to tortur … i mean to answer our questions.
Poor experimental goat reporting in.


As the user can choose to use the default version of jQuery included in WordPress, does that make my themes acceptable? Leaving the option for the users to go beyond the limitations of an old and locally-hosted version of jQuery is an important key for speeding up the page-load performance and provide the best experience possible.

Making sure the default version isn’t swapped by default is a good start. Having said that, I have some reservations.

Going from version 1.9 to 2.0, jQuery has dropped lots of legacy code that might be a deal breaker for other plugins that the buyers might be using which will break browser compatibility. Not to mention other breaking and/or API changes that plugins may rely on which will break it outright. Using migrate is a good choice here, as you’ve done so but I’d advice judicious use of this feature you’ve built as there could be lots of pain points in the future.

As long as the default behavior isn’t breaking and this behavior is documented pre-sales, it should be good to go.

158 posts
  • Has been part of the Envato Community for over 5 years
  • Has referred 50+ members
  • Has sold $1,000+ on Envato Market
  • Sells items exclusively on Envato Market
+1 more
greenshady says

You have a mistake in the PHP section #5, which conflicts with the “child theme” rule. Your code:

<img src="<?php echo get_stylesheet_directory_uri(); ?>/images/filename.png" />

Instead of using get_stylesheet_directory_uri(), themes should almost always use get_template_directory_uri().

I know this is just an example, but if you want to facilitate the use of child themes, the themes here need to be referencing the correct directory.

2002 posts
  • Has referred 50+ members
  • Has sold $500,000+ on Envato Market
  • Has collected 10+ items on Envato Market
  • Elite Author: Sold more than $75,000 on Envato Market
+9 more
bitfade says

By the way, it’s the other way around: currently all my themes and templates come with the most recent version of jQuery, with both the jQuery Migrate plugin and noConflict() mode disabled by default.
nothing against your page speed optimizations, we do ship with minified css/js as well but jQuery is wp core and shouldn’t be altered in any way, most recent version could still break 3rd party plugins.
252 posts themesdepot.org
  • Has sold $125,000+ on Envato Market
  • Elite Author: Sold more than $75,000 on Envato Market
  • Won a Most Wanted contest
  • Has referred 10+ members
+6 more
ThemesDepot says

if custom post type must be in plugin so metabox, template page and single page also because to make compatibility when switch other theme.

It’s good, but sounds like selling plugin. CMIIW

What i’m wondering is, why would we need to include metaboxes in plugins ? Once switched theme, those values can’t be used by new theme anyways, unless i’m missing something.

20 posts
  • Has referred 10+ members
  • Has sold $10,000+ on Envato Market
  • Has collected 10+ items on Envato Market
  • Had an item featured in an Envato Pack
+4 more
prestahome says


if custom post type must be in plugin so metabox, template page and single page also because to make compatibility when switch other theme.

It’s good, but sounds like selling plugin. CMIIW
What i’m wondering is, why would we need to include metaboxes in plugins ? Once switched theme, those values can’t be used by new theme anyways, unless i’m missing something.

That’s the point… some elements must be in plugin but without any rational explanation :|

1359 posts
  • Elite Author: Sold more than $75,000 on Envato Market
  • Made it to the Authors' Hall of Fame
  • Has been part of the Envato Community for over 5 years
  • Has sold $250,000+ on Envato Market
+6 more
fuelthemes says

I think moving the shortcodes & metaboxes to a plugin is unnecessary.

11 posts Performance Experts
  • Has referred 1+ members
  • Has sold $75,000+ on Envato Market and is now an Elite Author
  • Has collected 1+ items on Envato Market
  • Elite Author: Sold more than $75,000 on Envato Market
+3 more
JoNa says


As the user can choose to use the default version of jQuery included in WordPress, does that make my themes acceptable? Leaving the option for the users to go beyond the limitations of an old and locally-hosted version of jQuery is an important key for speeding up the page-load performance and provide the best experience possible.

Making sure the default version isn’t swapped by default is a good start. Having said that, I have some reservations.

Going from version 1.9 to 2.0, jQuery has dropped lots of legacy code that might be a deal breaker for other plugins that the buyers might be using which will break browser compatibility. Not to mention other breaking and/or API changes that plugins may rely on which will break it outright. Using migrate is a good choice here, as you’ve done so but I’d advice judicious use of this feature you’ve built as there could be lots of pain points in the future.

As long as the default behavior isn’t breaking and this behavior is documented pre-sales, it should be good to go.

Awesome, thanks for the detailed reply!


nothing against your page speed optimizations, we do ship with minified css/js as well but jQuery is wp core and shouldn’t be altered in any way, most recent version could still break 3rd party plugins.

The jQuery Migrate plugin is here to keep compatibility with old third-party plugins, please take a look at the jQuery site for more information: http://jquery.com/upgrade-guide/1.9/#jquery-migrate-plugin

And if that’s not enough, the users of my themes can simply select to restore the default, older version of jQuery included in WordPress via a simple checkbox in the backend ;)

I truly believe in giving the choice to the users. Letting them choose which version of jQuery they want to use for their site, and if they want a recent one but also need to keep compatibility with old plugins, then they simply enable the jQuery Migrate plugin. This is all optional and up to the user, nothing is imposed, they can very well use the old version of jQuery packaged with WordPress. This is all the beauty of giving the ability to choose and not being restricted to our choice.

Now if you’re concerned about the added complexity and the eventual confusion added by those advanced options, I can prove otherwise with good backend structure and documentation, let me quote a recent comment I’ve received recently:

The most simple wordpress theme i have ever used, superb.
sunlife2000

:sunglasses:

2002 posts
  • Has referred 50+ members
  • Has sold $500,000+ on Envato Market
  • Has collected 10+ items on Envato Market
  • Elite Author: Sold more than $75,000 on Envato Market
+9 more
bitfade says

The jQuery Migrate plugin is here to keep compatibility with old third-party plugins, please take a look at the jQuery site for more information: http://jquery.com/upgrade-guide/1.9/#jquery-migrate-plugin
i know what it is, what i’m saying is that in 3.6, when you enqueue jquery, you also enqueue migrate. A 3rd party plugin could rely on this and break when a buyer would turn it off by using your custom option.

Even not considering migrate, a minor jQuery version bump could still cause issues.

by
by
by
by
by
by