描述:
检查当前主题文件index.php与style.css是否存在
用法:
<?php validate_current_theme() ?>
参数:
None.
源文件:
/**
* Checks that current theme files 'index.php' and 'style.css' exists.
*
* Does not check the default theme, which is the fallback and should always exist.
* Will switch theme to the fallback theme if current theme does not validate.
* You can use the 'validate_current_theme' filter to return false to
* disable this functionality.
*
* @since 1.5.0
* @see WP_DEFAULT_THEME
*
* @return bool
*/
function validate_current_theme() {
/**
* Filter whether to validate the current theme.
*
* @since 2.7.0
*
* @param bool true Validation flag to check the current theme.
*/
if ( defined('WP_INSTALLING') || ! apply_filters( 'validate_current_theme', true ) )
return true;
if ( get_template() != WP_DEFAULT_THEME && !file_exists(get_template_directory() . '/index.php') ) {
switch_theme( WP_DEFAULT_THEME );
return false;
}
if ( get_stylesheet() != WP_DEFAULT_THEME && !file_exists(get_template_directory() . '/style.css') ) {
switch_theme( WP_DEFAULT_THEME );
return false;
}
if ( is_child_theme() && ! file_exists( get_stylesheet_directory() . '/style.css' ) ) {
switch_theme( WP_DEFAULT_THEME );
return false;
}
return true;
}