函数文档

wp_clean_themes_cache()

💡 云策文档标注

概述

wp_clean_themes_cache() 函数用于清除由 get_theme_roots() 和 WP_Theme 持有的缓存,确保主题数据更新。它支持可选参数控制是否清除主题更新缓存。

关键要点

  • 清除主题根目录和 WP_Theme 对象的缓存,提高主题数据一致性
  • 可选参数 $clear_update_cache 默认为 true,可控制是否删除主题更新缓存
  • 内部调用 delete_site_transient('update_themes')、search_theme_directories(true) 和遍历 wp_get_themes() 以删除缓存

代码示例

function wp_clean_themes_cache( $clear_update_cache = true ) {
	if ( $clear_update_cache ) {
		delete_site_transient( 'update_themes' );
	}
	search_theme_directories( true );
	foreach ( wp_get_themes( array( 'errors' => null ) ) as $theme ) {
		$theme->cache_delete();
	}
}

注意事项

  • 函数自 WordPress 3.5.0 版本引入,使用时需确保版本兼容性
  • 常用于主题更新、安装或自动升级过程中,以刷新缓存数据
  • 相关函数包括 search_theme_directories()、wp_get_themes() 和 delete_site_transient()

📄 原文内容

Clears the cache held by get_theme_roots() and WP_Theme.

Parameters

$clear_update_cachebooloptional
Whether to clear the theme updates cache.

Default:true

Source

function wp_clean_themes_cache( $clear_update_cache = true ) {
	if ( $clear_update_cache ) {
		delete_site_transient( 'update_themes' );
	}
	search_theme_directories( true );
	foreach ( wp_get_themes( array( 'errors' => null ) ) as $theme ) {
		$theme->cache_delete();
	}
}

Changelog

Version Description
3.5.0 Introduced.