Error with WPForms

You may have this kind of error with WPForms :

Deprecated: _register_controls is deprecated since version 3.1.0! Use register_controls() instead. 

Or :

Fatal error: Uncaught mysqli_sql_exception: Table 'wp_actionscheduler_actions' doesn't exist in wp-includes/wp-db.php:2056 Stack trace: #0 wp-includes/wp-db.php(2056): mysqli_query(Object(mysqli), 'DESCRIBE wprr_a...') #1 wp-includes/wp-db.php(1945): wpdb->_do_query('DESCRIBE wprr_a...') #2 wp-content/plugins/w3-total-cache/DbCache_WpdbNew.php(232): wpdb->query('DESCRIBE wprr_a...') #3 wp-content/plugins/w3-total-cache/DbCache_WpdbInjection.php(54): WpdbNew->default_query('DESCRIBE wprr_a...') #4 wp-content/plugins/w3-total-cache/DbCache_WpdbNew.php(119): W3TC\DbCache_WpdbInjection->query('DESCRIBE wprr_a...') #5 wp-content/plugins/w3-total-cache/DbCache_WpdbNew.php(393): W3TC\DbCache_WpdbNew->query('DESCRIBE wprr_a...') #6 wp-content/plugins/w3-total-cache/DbCache_WpdbInjection_QueryCaching.php(161): W3TC\_CallUnderlying->query('DESCRIBE wprr_a...') #7 wp-content/plugins/w3-total-cache/DbCache_WpdbNew.php(119): W3TC\DbCache_WpdbInjection_QueryCaching->query('DESCRIBE wprr_a...') #8 wp-includes/wp-db.php(2695): W3TC\DbCache_WpdbNew->query('DESCRIBE wprr_a...') #9 wp-admin/includes/upgrade.php(2749): wpdb->get_results('DESCRIBE wprr_a...') #10 wp-content/plugins/wpforms-lite/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_Abstract_Schema.php(117): dbDelta(Array) #11 wp-content/plugins/wpforms-lite/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler_Abstract_Schema.php(45): ActionScheduler_Abstract_Schema->update_table('actionscheduler...') #12 wp-content/plugins/wpforms-lite/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_DBStore.php(35): ActionScheduler_Abstract_Schema->register_tables() #13 wp-content/plugins/wpforms-lite/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_HybridStore.php(57): ActionScheduler_DBStore->init() #14 wp-content/plugins/wpforms-lite/vendor/woocommerce/action-scheduler/classes/abstracts/ActionScheduler.php(158): ActionScheduler_HybridStore->init() #15 wp-content/plugins/wpforms-lite/vendor/woocommerce/action-scheduler/action-scheduler.php(48): ActionScheduler::init #16 wp-content/plugins/wpforms-lite/vendor/woocommerce/action-scheduler/action-scheduler.php(54): action_scheduler_initialize_3_dot_2_dot_1() #17 wp-content/plugins/wpforms-lite/src/WPForms.php(221): require_once('/...') #18 wp-content/plugins/wpforms-lite/src/WPForms.php(177): WPForms\WPForms->includes_magic() #19 wp-content/plugins/wpforms-lite/src/WPForms.php(114): WPForms\WPForms->includes() #20 wp-content/plugins/wpforms-lite/src/WPForms.php(402): WPForms\WPForms::instance() #21 wp-content/plugins/wpforms-lite/wpforms.php(230): wpforms() #22 wp-admin/includes/plugin.php(2286): include_once('/...') #23 wp-admin/plugins.php(191): plugin_sandbox_scrape('wpforms-lite/wp...') #24 {main} thrown in wp-includes/wp-db.php on line 2056

Or :

Fatal error: Uncaught Error: Call to a member function get() on null in /wp-includes/query.php on line 28
( ! ) Error: Call to a member function get() on null in /wp-includes/query.php on line 28

Or :

Fatal error: Uncaught Error: Class ‘Normalizer’ not found
in /wp-content/plugins/wpforms-lite/vendor/symfony/polyfill-iconv/Iconv.php on line 689

Or :

Warning: require_once(wp-content/plugins/wpforms-lite/includes/admin/overview/class-overview.php): failed to open stream: No such file or directory in /wp-content/plugins/wpforms-lite/src/WPForms.php on line 219

Fatal error: require_once(): Failed opening required ‘/wp-content/plugins/wpforms-lite/includes/admin/overview/class-overview.php’ (include_path=’.:/opt/alt/php73/usr/share/pear’) in /wp-content/plugins/wpforms-lite/src/WPForms.php on line 219

Or :

PHP Notice: Trying to access array offset on value of type bool in /wp-content/plugins/wpforms-lite/includes/class-frontend.php on line 148

Or :

Warning: call_user_func_array() expects parameter 1 to be a valid callback, class ‘\WPForms\Emails\Summaries’ not found in /wp-includes/class-wp-hook.php on line 287
Warning: call_user_func_array() expects parameter 1 to be a valid callback, class ‘\WPForms\Forms\Loader’ not found in /wp-includes/class-wp-hook.php on line 287
Warning: call_user_func_array() expects parameter 1 to be a valid callback, class ‘\WPForms\Providers\Loader’ not found in /wp-includes/class-wp-hook.php on line 287
Warning: call_user_func_array() expects parameter 1 to be a valid callback, class ‘\WPForms\Integrations\Loader’ not found in /wp-includes/class-wp-hook.php on line 287
Warning: require_once(/wp-content/plugins/wpforms-lite/includes/providers/class-constant-contact.php): failed to open stream: No such file or directory in /wp-content/plugins/wpforms-lite/includes/class-providers.php on line 51
Fatal error: require_once(): Failed opening required ‘/wp-content/plugins/wpforms-lite/includes/providers/class-constant-contact.php’ (include_path=’.:/opt/alt/php73/usr/share/pear’) in /wp-content/plugins/wpforms-lite/includes/class-providers.php on line 51

Or :

Warning: Illegal string offset ‘primary’ in /wp-content/plugins/wpforms-lite/includes/fields/class-email.php on line 543

Or :

Fatal error: Uncaught RuntimeException: Error saving action: Error saving action: Table ‘wp_actionscheduler_actions’ doesn’t exist in wp-content/plugins/wpforms-lite/vendor/woocommerce/action-scheduler/classes/migration/ActionScheduler_DBStoreMigrator.php:44 Stack trace: #0 wp-content/plugins/wpforms-lite/vendor/woocommerce/action-scheduler/classes/data-stores/ActionScheduler_HybridStore.php(225): ActionScheduler_DBStoreMigrator->save_action(Object(ActionScheduler_Action), NULL) #1 wp-content/plugins/wpforms-lite/vendor/woocommerce/action-scheduler/classes/ActionScheduler_ActionFactory.php(177): ActionScheduler_HybridStore->save_action(Object(ActionScheduler_Action)) #2 wp-content/plugins/wpforms-lite/vendor/woocommerce/action-scheduler/classes/ActionScheduler_ActionFactory.php(84): ActionScheduler_ActionFactory->store(Object(ActionScheduler_Action)) #3 /w in wp-content/plugins/wpforms-lite/vendor/woocommerce/action-scheduler/classes/migration/ActionScheduler_DBStoreMigrator.php on line 44

There are multiple solutions to try to make it work.


The first thing to do if you are stuck with WPForms is to ensure that all your WordPress is up to date. You should check your :

  • WordPress
  • Plugins
  • Theme

Once all these updates are done, check back if these errors appear.

Check WPForms

Sometimes, you just need to disable the plugin, and enable it just after to make it work again.

If it doesn’t work, your WPForms plugin may be corrupted. To ensure that it’s not your case, you have to re-download the plugin (or the theme delivered with the plugin) and try to install it again.

Check others plugins

Are you sure that the error is related to WPForms? Maybe not.

It could be related to another plugin that is not compatible. It could happen when you use a cache plugin, a security plugin, or simply a poorly developed plugin.

Disable all plugins. Then, check for your error, if the error is still there, the problem is not related to plugins compatibility. If there are no more errors, then enable every plugin one by one and check for the error. The goal is to target the plugin involved.

Try another theme

The error can be a problem with your theme.

If it’s not already done, then you should install & activate the default WordPress theme like Twenty Twenty-Two. Check for the error, and see what is happening to be sure that your WordPress theme is not the cause.

Permalinks & htaccess

If it doesn’t work, you may have a problem with your WordPress permalinks and/or your htaccess file. You should go on your WordPress dashboard, and re-saving permalinks from the permalinks page.

Contact the developer

If all these solutions don’t work, we advise you to contact the plugin developer.

You may have found a new bug, or a specific issue. You should get in touch with the developer either on the WordPress plugin forum, either by mail, either on their specific website with their own support.

Alternative solutions

If the developer doesn’t reply, or your problem is very urgent, then you should try an alternative to the plugin.

There are thousands of plugins on the official directory, and many others outside. You should try to find and test them!

If the issue is very specific, and the plugin could not be replaced, we advise you to contact an expert.
This is the best way to ensure you're not going to break your site anymore.