- Attended a Community Meetup
- Author had a File in an Envato Bundle
- Author was Featured
- Bought between 1 and 9 items
- Contributed a Tutorial to a Tuts+ Site
- Exclusive Author
- Has been a member for 4-5 years
- Item was Featured
The MailChimp plugin by MailChimp.com is garbage. I’ve had to recommend uninstalling it from dozens of sites to fix issues with drop down menus, form validation, lightboxes and other random JS related errors.
The problem is the plugin does not follow WordPress standards of registering scripts. The result is the inclusion of an extra jQuery file (v1.2.6, really old!) which causes errors. This is completely avoidable using the “wp_enqueue_script( ‘jquery’ );” function, which the plugin does not do. The end result is a second (old) copy of jQuery gets loaded and a bunch of JavaScript functions stop working.
I deal with it so much in my support that I’m thinking of adding a function in my themes to show a warning message recommending it be disabled if users have it installed.
Has anyone else experienced this? What other popular plugins do you know of that regularly break themes?
No experience with this plugin but some time ago I have similar problem with other things.
Gave MailChimp a heads up about this a while ago, but no reply yet…
I’m planning on using that plugin together with my upcoming folio and some other sites – hope they fix it so I don’t have to hack-away at it 
I had a Buyer today emailing me about a problem with the slider of one of my themes that he bought. After looking at the generated source code for his site it didn’t take me more than 10 seconds to see that the MailChimp garbadge was there and I noticed the same problem as you, no use of wp_enqueue and the loading of jQuery 1.2.6. This was breaking slider, cufon, menu, whatever you can imagine related do JS.
This wasn’t the first Buyer reporting errors like this…
- Microlancer Beta Tester
- Beta Tester
- Has been a member for 4-5 years
- Grew a moustache for the Envato Movember competition
- Repeatedly Helped protect Envato Marketplaces against copyright violations
- Referred between 1 and 9 users
- Bought between 1 and 9 items
- Sold between 100 and 1 000 dollars
- Exclusive Author
Parallelus saidlol 1.2.6? really? who designed that? a monkey?
The result is the inclusion of an extra jQuery file (v1.2.6, really old!)
The thing to do about it is to have it first removed from the wordpress index, since most clients take it from there… MailChimp will fix it them for sure.
WP.org plugin admins have been on a rampage lately, removing notorious buggy plugins like the FlashXML and “JR_” series.
FWIW , it doesn’t sound like you guys are talking about our MailChimp List Subscribe Form, rather about our Embedded Signup form option.
Our actual plugin does properly use the wp_enqueue_* calls (feel free to verify that for yourself) for Jquery.
The Embed Code form is definitely using an older version of Jquery, but it also works (which is mainly why we haven’t changed it). We’ve certainly heard complaints from people who blindly paste the code into their site(s) without considering possible conflicts or performance considerations, and unfortunately those same folks are often unable to resolve the issues that arise. We are typically willing to listen to feedback and make adjustments when someone points out something we could do better with the embed code, so if you’d like to make suggestions…
- Attended a Community Meetup
- Author had a File in an Envato Bundle
- Author was Featured
- Bought between 1 and 9 items
- Contributed a Tutorial to a Tuts+ Site
- Exclusive Author
- Has been a member for 4-5 years
- Item was Featured
mc_jesse said
FWIW , it doesn’t sound like you guys are talking about our MailChimp List Subscribe Form, rather about our Embedded Signup form option.Our actual plugin does properly use the wp_enqueue_* calls (feel free to verify that for yourself) for Jquery.
The Embed Code form is definitely using an older version of Jquery, but it also works (which is mainly why we haven’t changed it). We’ve certainly heard complaints from people who blindly paste the code into their site(s) without considering possible conflicts or performance considerations, and unfortunately those same folks are often unable to resolve the issues that arise. We are typically willing to listen to feedback and make adjustments when someone points out something we could do better with the embed code, so if you’d like to make suggestions…
Thanks for the information. I have not had access to the administration side of any of the sites reporting problems. All I know is when I view the source of their WordPress site I see MailChimp code pulling from the MailChimp domain. When I suggest they uninstalling the “MailChimp Plugin” everything starts working. I have not had any customers reply saying it’s embedded code not a plugin, but by the same measure I have not asked.
One suggestion, change the embedded code from what you currently have, pulling 3 individual script files, to a single JavaScript file which can test for the existence of jQuery prior to loading the library. This is not very difficult to do.
A simple test for jQuery before including the script:
// Test for jQuery library
try {
var jqueryIsLoaded=jQuery;
jQueryIsLoaded=true;
} catch(err) {
var jQueryIsLoaded=false;
}
if (jQueryIsLoaded) {
// jQuery already loaded... do nothing.
} else{
// Load jQuery
var head= document.getElementsByTagName('head')[0];
var script= document.createElement('script');
script.type= 'text/javascript';
script.src= 'http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js';
head.appendChild(script);
}
If you wanted to test the dynamic script to see if it’s done loading before including any other functions you can, but essentially that’s all you need. I have not tested the code above, but that’s the basic logic you would follow.
I hope you decide to do an update to this embedded code. Until then I’m going to keep a note in my FAQ ’s suggesting customers remove the MailChimp forms from their site if they are having unexplained errors.
I’ve seen similar things before and am willing to give it a shot again. Any chance you can describe a setup (theme+plugins, options to set/turn on, or whatever) that will definitely break? The biggest problem in trying to work around this with others is that my test scenarios end up not breaking and others haven’t been able to provide that info for their install. I’d feel a whole lot better about making a change if I can actually see the positive effect of it.
Parallelus said
I hope you decide to do an update to this embedded code. Until then I’m going to keep a note in my FAQ ’s suggesting customers remove the MailChimp forms from their site if they are having unexplained errors.
It sounds like that FAQ entry would be even more helpful for users if it mentioned checking for/removing any sort of embedded html code (feel free to continue specifying us as you wish). If you do specify us, it would be nice to at least suggest trying an actual WP Plugin.
Parallelus said
I hope you decide to do an update to this embedded code. Until then I’m going to keep a note in my FAQ ’s suggesting customers remove the MailChimp forms from their site if they are having unexplained errors.
Another user was able to provide me with a reproduceable case that allowed me to test your suggestion and it worked out fine. So in addition to using that, I also upgraded the code to use the latest versions of jquery on the hosted google apis (1.4.4) as well as the form and validation plugins. That’s all live now and any users pulling the code going forward
- Attended a Community Meetup
- Author had a File in an Envato Bundle
- Author was Featured
- Bought between 1 and 9 items
- Contributed a Tutorial to a Tuts+ Site
- Exclusive Author
- Has been a member for 4-5 years
- Item was Featured
Thanks, that’s great news. I’ll be sure to update my FAQs to mention that if they are having problems they can update their embedded code. Do you have a link I can associate with the information?
It’s great to see this quick response from MailChimp for something you could easily have ignored. I’m impressed.
