WP Super cache creates “Uncaught TypeError”
-
For some days now I daily get an error message from WordPress saying my website has a “technical error”.
In the error details it says the following (in German due to my localization):
WordPress-Version 6.5.3
Aktives Theme: OceanWP (Version 3.5.5)
Aktuelles Plugin: WP Super Cache (Version 1.12.1)
PHP-Version 8.2.18 Fehler-DetailsEin Fehler vom Typ E_ERROR wurde in der Zeile 2937 der Datei /srv/www/htdocs/mydomainname/wp-content/plugins/wp-super-cache/wp-cache.php verursacht. Fehlermeldung: Uncaught TypeError: array_unshift(): Argument #1 ($array) must be of type array, null given in /srv/www/htdocs/mydomainname/wp-content/plugins/wp-super-cache/wp-cache.php:2937
Stack trace: 0 /srv/www/htdocs/mydomainname/wp-content/plugins/wp-super-cache/wp-cache.php(2937): array_unshift() 1 /srv/www/htdocs/mydomainname/wp-includes/class-wp-hook.php(326): wp_cache_plugin_actions() 2 /srv/www/htdocs/mydomainname/wp-includes/plugin.php(205): WP_Hook->apply_filters() 3 /srv/www/htdocs/mydomainname/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-sync/src/modules/class-callables.php(377): apply_filters() 4 /srv/www/htdocs/mydomainname/wp-includes/class-wp-hook.php(324): Automattic\Jetpack\Sync\Modules\Callables->set_plugin_action_links() 5 /srv/www/htdocs/mydomainname/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() 6 /srv/www/htdocs/mydomainname/wp-includes/plugin.php(517): WP_Hook->do_action() 7 /srv/www/htdocs/mydomainname/wp-admin/includes/class-wp-screen.php(424): do_action() 8 /srv/www/htdocs/mydomainname/wp-admin/includes/screen.php(243): WP_Screen->set_current_screen() 9 /srv/www/htdocs/mydomainname/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-sync/src/class-sender.php(527): set_current_screen() 10 /srv/www/htdocs/mydomainname/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-sync/src/class-sender.php(629): Automattic\Jetpack\Sync\Sender->get_items_to_send() 11 /srv/www/htdocs/mydomainname/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-sync/src/class-sender.php(484): Automattic\Jetpack\Sync\Sender->do_sync_for_queue() 12 /srv/www/htdocs/mydomainname/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-sync/src/class-sender.php(359): Automattic\Jetpack\Sync\Sender->do_sync_and_set_delays() 13 /srv/www/htdocs/mydomainname/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-sync/src/class-actions.php(739): Automattic\Jetpack\Sync\Sender->do_sync() 14 /srv/www/htdocs/mydomainname/wp-content/plugins/jetpack/jetpack_vendor/automattic/jetpack-sync/src/class-actions.php(679): Automattic\Jetpack\Sync\Actions::do_cron_sync_by_type() 15 /srv/www/htdocs/mydomainname/wp-includes/class-wp-hook.php(324): Automattic\Jetpack\Sync\Actions::do_cron_sync() 16 /srv/www/htdocs/mydomainname/wp-includes/class-wp-hook.php(348): WP_Hook->apply_filters() 17 /srv/www/htdocs/mydomainname/wp-includes/plugin.php(565): WP_Hook->do_action() 18 /srv/www/htdocs/mydomainname/wp-cron.php(191): do_action_ref_array() 19 {main}thrown
Do you have any idea how to get rid of this error?
Many thanks in advance.
-
That’s a really weird one. A bug I’ve never seen before. Do you have any other plugin/code that interacts with the plugin_action_links filter that modifies the links displayed under plugins on the Plugins page? You could search for the string “plugin_action_links” in your plugins folder and see if any plugin messes with it. Disable the plugin to test if the error goes away.
Hm, I currently have 14 plugins active: AAWP Version 3.30.9 Akismet Anti-spam: Spam Protection Version 5.3.2 consentmanager Version 3.0.6 Jetpack Version 13.4.3 Jetpack Protect Version 2.1.0 Kirki Customizer Framework Version 5.1.0 Limit Login Attempts Version 1.7.2 Ocean Extra Version 2.2.7 Ocean Posts Slider Version 2.0.6 Print, PDF & Email by PrintFriendly Version 5.5.2 Quality Media Network Version 1.17.0 Statebuilt Facebook Page Like Popup WP Super Cache Version 1.12.1 wp-TypographyI searched with the string you mentioned in my plugin folder, but nothing came up.
On your Plugins page, in the WP Super Cache entry, do you see this below the name of the plugin?
“Settings | Deactivate”
They should be links. The warning comes because the list of links is empty, but it should have a “Deactivate” link there by default.
Yes, I see this below the plugin name, in German though since I use WP with German localization.
Here is a screenshot, the “Deactivate” link can be seen on the bottom left part of the screenshot:I’ll have to add a check to make sure $links is an array and if it’s not, then skip adding the Settings link. We’ll get that fixed in the next release. If you want to hide the warning until then, comment out or delete the add_filter line on line 2941 of wp-cache.php
add_filter( 'plugin_action_links', 'wp_cache_plugin_actions', 10, 2 );Thanks for the info.
I am not so tech savvy, so I prefer to wait for the update instead of tinkering with the php-files myself.Hi @berlinrob,
That’s fair enough. I checked with our developers, and we might have a new plugin update release in around two weeks. However, it also depends on how well the release passes the necessary tests to confirm the deployment, so it could be slightly delayed.
We hope you can’t wait for it!
The topic ‘WP Super cache creates “Uncaught TypeError”’ is closed to new replies.