201 posts
  • Has referred 200+ members
  • Has sold $500,000+ on Envato Market
  • Has collected 50+ items on Envato Market
  • Attended one of our Meetups around the world
+4 more
themeva says

Thanks for making the guidelines clearer, I’m all for tightening up the standards, it will make me a better developer in the process.

I’ve already started cleaning up my themes and adjusting things for a new one. A few things I’m uncertain on.

1) I bundle Visual Composer, it allows you to create additional maps for new short codes, do I now have to make them public so if a user switches themes they can still use it? I’ve also modified the plugin in a small number of places, I’m assuming, this will have to be removed?

2) I’m already using TGM, however it does throw up a huge amount of RECOMMENDED errors, will these be ignored.

3) I have a number of other plugins too which are throwing up these kind of errors, they’re using phpFlickr and Twitter API’s ( file_get_contents, curl etc ), the Theme Check plugin just reads the entire directory, which will include these plugins – do we have to move all plugins to an external location now? This isn’t possible with Visual Composer and say Revolution Slider extended licenses?

4) Final question, do we force activation with TGM, if we use recommended, will this not litter the users WP header area if they have to activate a number of different plugins?

Thanks for your time.

433 posts Keep Walking
  • Has been part of the Envato Community for over 3 years
  • Elite Author: Sold more than $75,000 on Envato Market
  • Has sold $125,000+ on Envato Market
  • Has collected 100+ items on Envato Market
+2 more
UXbarn says

Hi Japh,

Thanks for creating Q & A, it’s really helpful! But, regarding the Q & A site, that Q2 of the Phase 2 is not mine actually. My question haven’t yet been answered. Here I quote it again:

Question: What if I use Visual Composer plugin for shortcodes (elements) and want to override some default shortcode outputs and styles with mine? Do I need to create an additional plugin just for that overriding stuff?

Let’s say I want to override the default Tabs shortcode that is, by default, using jQuery UI to use a structure and styles of Zurb Foundation instead. Where should the overriding code reside, in a plugin or theme?

Thanks!

3 posts
  • Has been part of the Envato Community for over 1 year
aesti says


I’m having difficulties accepting your “there’s really no need to do this” reply when we’re talking about avoiding the load of additional 90KB for any theme by default.

Thanks for your feedback, however, as PrimaThemes points out…


If user want to use jQuery Google CDN, they can install this WordPress plugin (for example), http://wordpress.org/plugins/use-google-libraries/
My point is, this should not be done in a theme.

Thank you for your reply. However as I said, installing the plugin you quote means that the user understand the implications and importance of a using a public-CDN-hosted jQuery. This is part of the skills I mentioned in my previous post, which require minimum knowledge in page speed techniques, browser caching rules, compression, understanding the importance of public popular assets like jQuery, and so on…

As a buyer I expect a commercial theme to use the best techniques available today to offer a great and fast website.

As an author I would like to be able to offer a fast website out-of-the-box without requiring extra plugins or anything else in order for the theme to work like on the live preview. I want to be able to offer the greatest, latest and fastest version of jQuery.


My point is, this should not be done in a theme.
If jQuery is deregistered in a plugin (packaged with the theme), will it be OK then?

Thanks for your time and effort in making ThemeForest better.

PS: Just to make sure you don’t misunderstand me, when I said in my previous message that deregistering the default jQuery is a must-do for all themes if done right, what I mean precisely is that it should be allowed as long as the theme provides an option to disable the deregistering via its admin panel.

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

1) I bundle Visual Composer, it allows you to create additional maps for new short codes, do I now have to make them public so if a user switches themes they can still use it? I’ve also modified the plugin in a small number of places, I’m assuming, this will have to be removed?
Assuming the changes are significant enough, you should be ideally serving up your own fork of the plugin instead of just removing it altogether.


2) I’m already using TGM, however it does throw up a huge amount of RECOMMENDED errors, will these be ignored.
Yep.


3) .... This isn’t possible with Visual Composer and say Revolution Slider extended licenses?
This is a good point and we’re discussing this internally to better flesh out the workflow here.


4) Final question, do we force activation with TGM, if we use recommended, will this not litter the users WP header area if they have to activate a number of different plugins?
I’m sure they’ll appreciate the notices once they find out they need these plugins for the site they want to build.
366 posts WordPress Guy
  • Has referred 1+ members
  • Has sold $100+ on Envato Market
  • Has collected 50+ items on Envato Market
  • Member of the Envato Team
+5 more
Japh Envato team says

2) I’m already using TGM, however it does throw up a huge amount of RECOMMENDED errors, will these be ignored. 3) I have a number of other plugins too which are throwing up these kind of errors, they’re using phpFlickr and Twitter API’s ( file_get_contents, curl etc ), the Theme Check plugin just reads the entire directory, which will include these plugins – do we have to move all plugins to an external location now? This isn’t possible with Visual Composer and say Revolution Slider extended licenses?

Sid has already answered most of your questions, but I’d also like to draw your attention to the ThemeForest-Check plugin mentioned earlier in this thread. That will stop most of these errors from showing.


Thanks for creating Q & A, it’s really helpful! But, regarding the Q & A site, that Q2 of the Phase 2 is not mine actually. My question haven’t yet been answered. Here I quote it again:

My apologies! I’ve fixed that now.


Question: What if I use Visual Composer plugin for shortcodes (elements) and want to override some default shortcode outputs and styles with mine? Do I need to create an additional plugin just for that overriding stuff? Let’s say I want to override the default Tabs shortcode that is, by default, using jQuery UI to use a structure and styles of Zurb Foundation instead. Where should the overriding code reside, in a plugin or theme?

I would say in most cases, overriding JavaScript and CSS should be in the theme.

Think visual VS functional separation.


If jQuery is deregistered in a plugin (packaged with the theme), will it be OK then?
Yes, if you want this functionality to come with your themes, then you should use the TGM Plugin Activation class to install that plugin directly from the WordPress repository on activation.

If you feel it’s vitally important, instruct your users in why and how through documentation.

1831 posts Don't Worry, Be Happy
  • Sells items exclusively on Envato Market
  • Elite Author: Sold more than $75,000 on Envato Market
  • Located in United States
  • Made it to the Authors' Hall of Fame
+8 more
FinalDestiny says

De-registering the default jQuery version is a no-no-no. Why? Because it’s hard to maintain, lots of users don’t update their themes everytime a new jQuery version comes out, lots of things won’t work, it’s very possible that another plugin will register ANOTHER version of jQuery so you can end up having 2,3+ jQuery included on the website, which obviously will result in problems.

Keeping the default jQuery version is the standard way to go and if they’ll approve themes with plugins that de-register the local jQuery, all the other requirements are crap because this one will cause LOTS of trouble.

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

De-registering the default jQuery version is a no-no-no. Why? Because it’s hard to maintain, lots of users don’t update their themes everytime a new jQuery version comes out, lots of things won’t work, it’s very possible that another plugin will register ANOTHER version of jQuery so you can end up having 2,3+ jQuery included on the website, which obviously will result in problems. Keeping the default jQuery version is the standard way to go and if they’ll approve themes with plugins that de-register the local jQuery, all the other requirements are crap because this one will cause LOTS of trouble.
This, pretty much. The rationale behind this strategy isn’t to straitjacket authors but to provide a predictable environment for plugins.

A minified copy of jQuery and a few extra CPU cycles aren’t a big concern over broken plugins and installations.

366 posts WordPress Guy
  • Has referred 1+ members
  • Has sold $100+ on Envato Market
  • Has collected 50+ items on Envato Market
  • Member of the Envato Team
+5 more
Japh Envato team says

Agreed, +1

2010 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

is TGM mandatory ? say i don’t need all TGM features but can obtain the only ones i’m interested in with simpler (custom) code, would that be a problem ?

642 posts
  • Has referred 50+ members
  • Has sold $40,000+ on Envato Market
  • Has been a beta tester for an Envato feature
  • Has collected 100+ items on Envato Market
+5 more
UBLThemes says

Can someone clarify on this thread:

http://themeforest.net/forums/thread/theme-rejected-shortcodes-are-key/103439

According to the OP they got rejected because the shortcodes are not within a plugin.

by
by
by
by
by
by