Themes: Ensure the theme roots cache is cleared when registering a theme directory.
Props soulseekah, johnbillion Fixes #43228 git-svn-id: https://develop.svn.wordpress.org/trunk@42788 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
parent
b20dc7aaaf
commit
d83f786d3c
@ -413,6 +413,8 @@ function register_theme_directory( $directory ) {
|
||||
$wp_theme_directories[] = $untrailed;
|
||||
}
|
||||
|
||||
wp_clean_themes_cache();
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -293,4 +293,24 @@ class Tests_Theme_ThemeDir extends WP_UnitTestCase {
|
||||
rmdir( WP_CONTENT_DIR . '/themes/foo' );
|
||||
rmdir( WP_CONTENT_DIR . '/themes/foo-themes' );
|
||||
}
|
||||
|
||||
/**
|
||||
* @ticket 43228
|
||||
*/
|
||||
function test_theme_dir_caches() {
|
||||
@mkdir( WP_CONTENT_DIR . '/themes/foo' );
|
||||
@mkdir( WP_CONTENT_DIR . '/themes/foo/bar' );
|
||||
|
||||
$old_roots = get_theme_roots();
|
||||
|
||||
register_theme_directory( WP_CONTENT_DIR . '/themes/foo' );
|
||||
|
||||
$new_roots = get_theme_roots();
|
||||
|
||||
rmdir( WP_CONTENT_DIR . '/themes/foo/bar' );
|
||||
rmdir( WP_CONTENT_DIR . '/themes/foo' );
|
||||
|
||||
$this->assertNotEquals( $new_roots, $old_roots );
|
||||
$this->assertArrayHasKey( 'foo', $new_roots );
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user