it’s difficult to say.
should be enough to flush the object cache though, not need to disable it.
Yeah I wanted to try this but it wasn’t possible as I was always forwarded to said page.
i see. in this case you could have used /wp-admin URL to access dashboard.
as i said, the object cache makes the cache persistent.
Transients are saved in the db unless there is object cache.
If the plugin does not add a timeout when saving a Transient, it is outloaded from OC and that might cause the error.
The redirection happened in the wp-admin area, not the frontend. There was no way to access the plugin’s settings page.
I’ll forward your clue about the timeout to vendidero.
did you reactivate the cache again?
i have just uploaded a new version that auto deletes the “plugins” cache on activation/deactivation – that might help.
wordpress should do this by itself if a OC is installed – but it does not.
Yes, I reactivated the cache after successfully updating. I will check if it works, when the next update comes. Thank you!
This is what vendidero said:
Our plugin creates a transient with a timeout. However, the transient is deleted again via the WP Core API before the timeout expires and should therefore also be deleted from the object cache:
Create transient: https://github.com/vendidero/woocommerce-germanized/blob/master/includes/class-wc-gzd-install.php#L313
Delete transient before the redirect: https://github.com/vendidero/woocommerce-germanized/blob/master/includes/class-wc-gzd-install.php#L145
well ,like i said, the OC makes the WPOC persistent, but everything else is untouched.
maybe they could test their plugin in an OC enabled environment.
fyi: the same problem occured again with the next update unfortunately
but it is only with germanized? did you update other plugins too? with error or not?
Other plugins update without problems, but also Elementor had problems that might be related recently.
I know it is difficult to get Elementor support, but germanised might answer – if they have tested their update routine with persistent object cache.
They work with a redirect after update, based on the transient – but transients are also placed in the OC if available – that might be the root of the problem.
Hi @docjojo,
we’re the author of Germanized. The update/redirect routine works as follows:
- After updating, a transient is set:
set_transient( '_wc_gzd_activation_redirect', 1, 60 * 60 );
- This transient will make sure that during the period, admin users will be redirected to a certain page. That redirect check is attached to the
admin_init hook. Before redirecting the user, the transient is removed via delete_transient( '_wc_gzd_activation_redirect' );
The call looks like this:
delete_transient( '_wc_gzd_activation_redirect' );
// What's new redirect
wp_safe_redirect( esc_url_raw( admin_url( 'index.php?page=wc-gzd-about&wc-gzd-updated=true' ) ) );
exit;
Looks like there is some transient flushing bug within the OC? Maybe you are able to reproduce and fix the issue? We do only use WP core functionality here..
thank you.
is there some get_transient( ‘_wc_gzd_activation_redirect’ );
somewhere before the wp_safe_redirect ?
I can not reproduce the issue – maybe you can, if you install an OC?
If you have APCu, you could use my plugin and test?