hello i just realize that my mobile menu (using plugin) got broken.. i don't remember when it broke as i continiously update toolset plugin. i bought the mobile menu from codecanyon and no update for a while as it use wordpress core
you can easily replicate this error by install a clean wordpress, toolset, and this plugin.. look at console log and you'll find several error notification appears
Hello. Thank you for contacting the Toolset support.
Well - it looks like compatibility issue and I've reported this to our next level support for further debug. As it's compatibility issue - it may take long time as it's totally depends on how plugin author co-operates to fix the issue as well as what are predefined priorities set for our Devs.
I'll get in touch with you as soon as I know more.
if you take a look at the plugin site: hidden link
the last update is 3 October 16. I thought some of the script is getting obsolete, but i contact the author to discuss my thought, and he said no update needed as it using core wordpress with additional simple javascript.
Well - I've update for you that there is an incompatibility between morph plugin and the underscore JS library bundled within WordPress core, since both define and use a global variable exports.
It seems that underscore JS library is doing it properly, but morph plugin is not. There is no resolution to this issue from our end. You can contact your plugin author and share your issue details with them.
Minesh isn't available, the compatibility problem you mentioned above has been put into our to-do list, you will get the answer soon when there is any news from our developers.
The javascript library ' _' called underscore and is included within WordPress core, and used a lot by all Toolset plugins, both in frontend and in backend.
Here is our experts detailed technical answer:
The Morph plugin is using a library named ' retina.min.js' which at some points exports its main function to be used, and calls it like retinajs( jQuery('.morph-logo-image img') ); .
This library exports the function by checking whether the exports object exists, and in case it does not, it defines it as an empty object: "undefined" == typeof exports && (exports = {}) .
By doing so, it is breaking the exporting mechanism from the underscore library, which is slightly more complex, as in "undefined" != typeof exports ? ("undefined" != typeof module && module.exports && (exports = module.exports = m), exports._ = m) : u._ = m (contains proper fallbacks when xporting modules, for example).
This issue causes the incompatibility between morph plugin and the underscor library bundled within WordPress core, since both define and use a global variable exports.