What is the best practice for customizing a plugin’s JavaScript/jQuery?

If a Plugin is coded properly, it will:

  1. Use core-bundled jQuery, and any other core-bundled script, rather than bundling/using custom versions of such scripts
  2. enqueue its scripts, via wp_enqueue_script(), hooked into an appropriate hook, via an explicit function

So, for such a Plugin:

  1. You won’t need to worry about customizing/overriding core-bundled scripts, since the Theme will be using the core-bundled versions as well
  2. You can override custom scripts bundled with the Plugin by dequeueing the Plugin’s scripts, and enqueueing your own custom versions

To override a Plugin’s scripts, you have a few options:

  1. Call remove_action() to remove the entire callback that contains the wp_enqueue_script() calls
  2. Call wp_dequeue_script() to prevent the script from being enqueued, followed by a wp_enqueue_script() call to enqueue your own script.
  3. Call wp_deregister_script(), followed by wp_register_script() (with the same script $handle to allow your own custom version to be registered, and enqueued in place of the Plugin’s version

Leave a Comment