"Our booking button stopped working after a plugin update"

A WordPress plugin conflict, rebuilt so you can see it. One plugin update loads its own old copy of jQuery over WordPress's, and every script that ran after it breaks: no error on the page, the button just does nothing. Switch between the broken site and the fixed one and press the button in both.

Replay: Book on the broken page, then the same click after the fix.

The site broken

yourbusiness.com / book

Book a consultation

Pick a time, then press Book.

What the browser console and debug log say

Press "Book this time" to watch the page's scripts run.

How it gets found and fixed, without taking the live site down

  1. Full backup first (files and database), so any step can be undone.
  2. Read the error instead of guessing. Turn on WP_DEBUG_LOG and open the browser console on the broken page. Here the console names it: Uncaught TypeError: $(...).datepicker is not a function, and the network tab shows jquery-1.12.4.min.js loaded by the updated "Popup Pro" plugin after WordPress's own jQuery 3.7.
  3. Confirm on a staging copy, not live: switch only that plugin off, the button works; back on, it breaks. One plugin, proven.
  4. The least invasive fix. Then one of: stop the plugin loading its own jQuery (a two-line snippet), change its "load jQuery" setting, or roll back that single plugin to the last good version until its author ships a fix.Applied here: a small snippet in the child theme stops the plugin's extra jQuery from loading, so every script uses WordPress's copy:
    add_action('wp_enqueue_scripts', function(){ wp_dequeue_script('popup-pro-jquery'); wp_deregister_script('popup-pro-jquery'); }, 100);
    The popup still works, nothing else changed, and the note to the client says exactly which file holds the snippet.
  5. Check everything that uses scripts: the booking form, menus on a phone, sliders, checkout, then hand back a list of what changed.