Spoke to soon

wp_cache_flush() is not reliable for external object caches.
This commit is contained in:
Tetrakern 2024-10-12 22:26:44 +02:00
parent 84e24a88eb
commit ddad27c800
4 changed files with 21 additions and 4 deletions

View File

@ -13,8 +13,9 @@
*/
function fictioneer_watch_for_customizer_updates() {
// Transients (fast)
fictioneer_delete_transients_like( 'fictioneer_', true );
// Transients
fictioneer_delete_layout_transients();
fictioneer_delete_transients_like( 'fictioneer_', true ); // Fast
// Object cache
wp_cache_flush();

View File

@ -795,6 +795,20 @@ if ( FICTIONEER_ENABLE_STORY_DATA_META_CACHE ) {
// PURGE CACHE TRANSIENTS
// =============================================================================
/**
* Purge layout-related Transients
*
* @since 5.25.0
*/
function fictioneer_delete_layout_transients() {
fictioneer_purge_nav_menu_transients();
fictioneer_purge_story_card_cache();
fictioneer_delete_transients_like( 'fictioneer_shortcode' );
fictioneer_delete_transients_like( 'fictioneer_taxonomy_submenu_' );
delete_transient( 'fictioneer_dynamic_scripts_version' );
}
/**
* Purge Transients used for caching when posts are updated
*

View File

@ -237,7 +237,7 @@ add_action( 'after_setup_theme', 'fictioneer_theme_setup' );
*/
function fictioneer_purge_caches_after_update() {
// Transients (fast)
// Transients (fast, assuming this also causes a purge of external object caches)
fictioneer_delete_transients_like( 'fictioneer_', true );
// Object cache

View File

@ -480,7 +480,9 @@ function fictioneer_purge_theme_caches() {
delete_option( 'fictioneer_query_cache_registry' );
// Transients (fast)
fictioneer_delete_transients_like( 'fictioneer_', true );
fictioneer_delete_layout_transients();
fictioneer_delete_transients_like( 'fictioneer_shortcode' );
fictioneer_delete_transients_like( 'fictioneer_', true ); // Fast, but not safe for external object caches
// Object cache
wp_cache_flush();