Theme developers like to deregister wordpress jquery and load jquery from google instead.

I’ve been told it is for speed and I agree.

This usually is not a problem for me since I always use jQuery instead of $.

But I do see some plugins try to use $, well, it generates javascript error and also makes my plugin not working. As a result, clients blame on innocent me.

Sometimes my js code depends on the version of wordpress jquery but theme developers tend to load a specific version from google.

Even though the theme is updated, they may not update the jquery version, not to mention an old theme.

What should I do in such situations?

Actually, I’m thinking about, maybe I should use Zepto.js instead and include it in my js code.

p.s. good news, wordpress 3.6 doesn’t allow deregister jquery in its backend.

2 Answers
2

Any Theme developer that dequeues core-bundled jQuery in order to enqueue some other version – any other version, bundled, CDN, etc. – is _doing_it_wrong(), period. Core, active Theme, and active Plugins all rely on a known version of jQuery being available.

What to do about it?

  1. Tell the Theme developer that he’s _doing_it_wrong(), and ask for a fix.
  2. Tell your Plugin users to use a Theme hosted in the official WordPress Theme directory, since every Theme hosted there is prohibited from dequeueing core-bundled jQuery
  3. Instruct your Plugin users how to override the Theme’s jQuery override, via a site functionality Plugin that dequeues the Theme’s custom jQuery, and re-enqueues core-bundled jQuery
  4. Instruct your Plugin users how to patch the Theme’s incorrect jQuery implementation, by adding no-conflict wrappers
Tags:

Leave a Reply

Your email address will not be published. Required fields are marked *