CartPops stopped after upgrading
What to check when CartPops is missing, paused, or looks different after an update or upgrade to V2.
If CartPops stops working, or shows an error notice in WordPress admin, use the notice text or symptom below to find the fix. CartPops keeps your settings and customer data when it pauses.
Check the requirements
CartPops 2 requires:
- PHP 8.1 or newer
- WordPress 6.5 or newer
- WooCommerce 9.0 or newer
- MySQL 8.0 or newer, or MariaDB 10.11 or newer
If your site runs older versions, WordPress may refuse to activate CartPops, or WooCommerce may flag it as incompatible. Ask your host to move you to a newer PHP version, and update WordPress and WooCommerce first. Back up before any of these updates.
CartPops also needs WooCommerce to be active. WordPress 6.5 and newer will not let you activate CartPops without WooCommerce. If WooCommerce is deactivated later, CartPops does not load, and it shows no notice of its own.
“CartPops detected both the Free and Pro editions as active”
You will see this notice if the Free and Pro plugins are both active:
CartPops detected both the Free and Pro editions as active. CartPops was paused; deactivate one edition and reload this page.
Two editions cannot run at the same time. While both are active, CartPops does not run at all, so the drawer and launcher are missing from your storefront. CartPops does not deactivate either plugin or change your data.
To fix it:
- Go to Plugins > Installed Plugins.
- Deactivate one of the two CartPops plugins. Keep the Pro plugin if you have a Pro license.
- Reload the page.
“CartPops is paused, so the cart drawer is not showing on your store”
The full notice reads:
CartPops is paused, so the cart drawer is not showing on your store. Your settings are safe. Code: (a code).
Before 2.0.3 it read “CartPops is paused because its required upgrade or build validation did not complete… Diagnostic: (a code).” The fix depends on the code at the end.
upgrade_maintenance_required: the update from version 1 is waiting for you.
- If a Review your old custom JavaScript notice shows above it (before 2.0.3: Review legacy JavaScript), your site had custom JavaScript. Follow Custom JavaScript does not run. Only a site administrator sees that notice.
- If the notice says CartPops is paused until its update can finish and you use CartPops Pro, check that your license is active for this site.
- If there is no review notice and you are on 2.0.0 to 2.0.2, update CartPops to 2.0.3 or newer. Those versions could pause a store for a setting they could not read, with no way to continue. 2.0.3 finishes the update by itself on the next page load, and names the affected settings in a notice.
upgrade_failed (database_not_transactional): see Your database tables use MyISAM below.
upgrade_failed (normalization_read) or upgrade_failed (settings_migration_failed) on 2.0.6 or earlier: this happens on some older sites whose WordPress database connection uses a different character set than the tables (for example DB_CHARSET set to latin1). Update to 2.0.7 or newer and reload an admin page; CartPops finishes the update by itself. Don’t change DB_CHARSET in wp-config.php to work around it: on a site that has run this way for years, that can make accented characters display incorrectly.
upgrade_failed or another upgrade_ code: reload an admin page so the update can retry. Since 2.0.5 the code names the step that failed in brackets, for example upgrade_failed (settings_normalize). If the notice stays, contact support and include the code. You can roll back to version 1 safely in the meantime. Turn off automatic updates for CartPops first, or WordPress installs V2 again.
If a notice says CartPops is finishing its update, reload the page in a moment.
Any other code, such as missing_block_build: the plugin files are incomplete. This also happens if you install a source checkout instead of a release package, because the source does not include the compiled files CartPops needs.
- Download a fresh copy of CartPops from WordPress.org (Free) or your Freemius account (Pro).
- Replace the plugin files with it, or reinstall the plugin. Reinstalling the plugin does not delete your settings.
- Reload the admin page.
If the notice returns, contact support and include the code from the notice.
Your database tables use MyISAM
CartPops 2 uses database transactions so a cart change or the one-time update from version 1 is never left half-finished. Tables that use the older MyISAM storage format cannot do transactions, so CartPops refuses to work on them:
- The update from version 1 stops and CartPops stays paused. Since 2.0.6 the notice shows the code
database_not_transactional. - The cart drawer shows “Request failed” and an empty cart. Since 2.0.6 a notice in WordPress admin says CartPops cannot load the cart on your store.
Nothing is lost; your settings and carts are safe. Tools > Site Health > Info > CartPops lists the storage format under Database engine.
InnoDB is the storage format WordPress recommends. Convert all your tables, not only the ones the update needs, because the cart uses other tables than the update does:
-
Back up your database first.
-
Convert every table to InnoDB.
-
phpMyAdmin (for example through cPanel): open the site’s database, click a table, go to Operations, set Storage Engine to InnoDB and click Go. Repeat for every table that still shows MyISAM in the database’s table list.
-
WP-CLI: this converts every MyISAM table in the site’s database:
wp db query "SELECT CONCAT('ALTER TABLE ', TABLE_NAME, ' ENGINE=InnoDB;') FROM information_schema.TABLES WHERE TABLE_SCHEMA = DATABASE() AND ENGINE = 'MyISAM'" --skip-column-names | wp db query
-
-
Load any page in wp-admin. If the update was paused, CartPops finishes it by itself, and the cart drawer works again on the next page load.
If your host manages the database for you, ask them to convert all tables to InnoDB.
Troubleshooting details for support
Since 2.0.5, CartPops adds its status to Tools > Site Health > Info, in a section called CartPops. It works even while CartPops is paused. It shows whether CartPops is running, the pause code and failed step, and how the update from version 1 went. It contains codes and counts only, never your settings, custom code or customer data.
If support asks for details, open that page, click Copy site info to clipboard, and paste the result into your reply.
“CartPops updated your settings from version 1, but some could not be carried over exactly”
Before 2.0.3: “CartPops migrated legacy settings with compatibility warnings.” The update finished and CartPops works. Some V1 settings could not be carried over exactly. Click See which settings under the notice, then see Settings that did not carry over.
“CartPops licensing could not initialize”
The notice reads:
CartPops licensing could not initialize. Shared cart features remain available, but paid features are paused. Reinstall the complete CartPops package or contact support.
The drawer and the other Free features keep working. Pro features stay off until licensing starts. Reinstall the complete plugin package, as described above. Then check that your license is active for this site.
The drawer looks different, or something you used is gone
V2 replaces the V1 popup with a drawer. The beta popup and standalone bar presentations, and V1 automation rules, are retired. Custom CSS written against V1 markup, and code that used V1 hooks or JavaScript, may need changes. Read Upgrading to V2 for what carried over and what did not. Developers should also read Upgrading to V2: for developers.
The drawer never opens after the update
Check Open drawer on and the other settings in The drawer does not open after add to cart. If you use a caching plugin, clear all caches after the update. See Caching.