Fatal error: Uncaught Error: Call to undefined function

WordPress Plugin Update Broke Site – Immediate Fix

Server & Cloud Beginner 👁 9 views 📅 Jun 17, 2026

Plugin update crashed your WordPress site? The fix is quick: rename the plugin folder via FTP. Here's the exact steps, no fluff.

Quick answer for advanced users

Use FTP or cPanel File Manager to rename the plugin folder from /wp-content/plugins/plugin-name to /wp-content/plugins/plugin-name-old. That disables the broken plugin and lets you back into wp-admin. Then delete or reinstall the plugin.

Why this happens

Plugin updates are the #1 cause of white screens and fatal errors on WordPress. The culprit here is almost always a PHP version mismatch or a plugin that hasn't been updated in a year calling a function that no longer exists. I've seen it happen with WooCommerce extensions, caching plugins, and even contact form plugins that suddenly decide they need PHP 8.0+ when your server is still on 7.4. The error message you see — something like Fatal error: Uncaught Error: Call to undefined function — means the plugin's code tried to run a function that isn't loaded. Could be a missing dependency, a corrupted file from a failed update, or a conflict with another plugin.

Step-by-step fix

  1. Access your site via FTP or cPanel File Manager. If you don't have FTP credentials, check with your host or use your hosting control panel's file manager. I prefer FTP (FileZilla works fine) because it's faster for renaming.
  2. Navigate to /wp-content/plugins/. This is where every plugin lives. You'll see a folder for each plugin.
  3. Find the plugin you just updated. Look for the one that was updated right before the crash. If you're not sure, check the last modified date on the folders — the most recently modified one is your culprit.
  4. Rename the folder. Add -old or -disabled to the end. For example, akismet becomes akismet-old. WordPress automatically disables any plugin whose folder name doesn't match what's in the database.
  5. Reload your site. It should come back. Log into wp-admin. You'll see a notice that the plugin was deactivated.
  6. Delete the renamed folder (the -old one) if you don't need the plugin anymore, or download a fresh copy from wordpress.org and reinstall. Don't just rename it back — the update itself may be broken.

Alternative fixes if the main one fails

Sometimes renaming the plugin folder doesn't work because the plugin was only part of the problem. Try these in order:

  1. Rename the entire /wp-content/plugins/ folder to /wp-content/plugins-old/. This disables all plugins. If your site comes back, the issue is a conflict between plugins, not just one. Create a new empty plugins folder and then move plugins back one by one to find the bad one.
  2. Use WordPress recovery mode. If you can get to wp-admin but see a white screen, add ?wp-config-recovery to the URL. This only works if your site is using WordPress 5.2+. It gives you a special link in an email to temporarily disable the broken plugin.
  3. Edit wp-config.php and add this line right before /* That's all, stop editing! */:
    define('WP_DISABLE_FATAL_ERROR_HANDLER', true);
    This tells WordPress to show the actual PHP error instead of a white screen. Useful for debugging, but remove it after you fix the plugin.
  4. Switch theme via database. If the error is theme-related (rare but happens), use phpMyAdmin to change the template and stylesheet values in the wp_options table to a default theme like twentytwentythree.

Prevention tip for next time

Never update plugins on a live site without testing first. Set up a staging site — most hosts offer this with one click. Update the plugin there, check if it breaks anything, then push to production. Also, enable automatic backups before any update. I use UpdraftPlus and schedule a backup before each plugin update. Takes 2 minutes and saves hours of panic. And for the love of god, keep your PHP version current but stable — PHP 8.1 is fine, 8.3 might cause issues with older plugins. Check your host's PHP version before updating major plugins.

I've fixed this exact issue for clients at least 50 times. The rename trick works 90% of the time. Don't waste time on database repairs or reinstalling WordPress — the problem is always the plugin.

Was this solution helpful?