Object cache – get_plugins has permanently cached
-
Functions
wp_cache_getandwp_cache_setwork as persistent cache if you have installed Redis, Memcache or something like this. ( https://codex.ww.wp.xz.cn/Class_Reference/WP_Object_Cache#Persistent_Cache_Plugins )Loco uses wp_cache in
src/package/Plugin.php. It stores results of functionget_plugins. Our advice is adding simple function which purges cache on each activation/deactivation of plugins. Good way is to use hooks:pre_update_option_active_pluginsandpre_update_site_option_active_sitewide_plugins.Possible fix is:
add_filter( 'pre_update_option_active_plugins', array( $this, 'pre_update_option_active_plugins' ) ); add_filter( 'pre_update_site_option_active_sitewide_plugins', array( $this, 'pre_update_option_active_plugins' ) ); ..... public function pre_update_option_active_plugins( $plugins ) { wp_cache_delete('plugins','loco'); return $plugins; }We’ve tested our fix and it works fine. When we install/activate new plugin, list of plugins in Loco is refreshed. I hope that you will add similar code in next release.
Thank you!
The topic ‘Object cache – get_plugins has permanently cached’ is closed to new replies.