mirror of
https://github.com/gosticks/wordpress-develop.git
synced 2026-07-01 07:40:07 +00:00
Introduce WP_Theme, wp_get_themes(), and wp_get_theme() to replace get_themes(), get_theme(), get_theme_data(), current_theme_info(), and others.
* Getters and Helpers: Introduces a series of methods to allow for easy generation of headers for display, and other theme metadata, including page templates. * Screenshots: Handles support for multiple screenshots. (see # Additional screenshots must be PNG and start with screenshot-2.png, and be sequential to be counted. see #19816. * Error Handling: Broken themes have a WP_Error object attached to them. * Caching: Introduces a wp_cache_themes_persistently filter (also in [20020]) to enable persistent caching of all filesystem and sanitization operations normally handled by WP_Theme (and formerly get_file_data() and get_themes()). Themes are cached individually and across five different cache keys for different data pieces. * Compatibility: A WP_Theme object is backwards compatible with a theme's array formerly returned by get_themes() and get_theme(), and an stdClass object formerly returned by current_theme_info(). * i18n/L10n: Theme headers are now localizable with proper Text Domain and Domain Path headers, like plugins. (Language packs may remove the requirement for headers.) For page templates, see #6007 (not fixed yet, but will be easy now). For headers, fixes #15858. * PHP and CSS files: New methods that fetch a list of theme files (for the theme editor) only on demand, rather than only loading them into memory. fixes #11214. Functions deprecated: * get_themes(), get_allowed_themes() and get_broken_themes() -- use wp_get_themes() * get_theme() and current_theme_info() -- use wp_get_theme() * get_site_allowed_themes() -- use WP_Theme::get_allowed_on_network() * wpmu_get_blog_allowedthemes() -- use WP_theme::get_allowed_on_site() see also [20016], [20018], [20019], [20020], [20021], [20022], [20025], [20026], [20027]. also fixes #19244. see #20103. git-svn-id: https://develop.svn.wordpress.org/trunk@20029 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
@@ -235,32 +235,29 @@ function wp_update_themes() {
|
||||
if ( defined( 'WP_INSTALLING' ) )
|
||||
return false;
|
||||
|
||||
if ( !function_exists( 'get_themes' ) )
|
||||
require_once( ABSPATH . 'wp-includes/theme.php' );
|
||||
|
||||
$installed_themes = get_themes( );
|
||||
$installed_themes = wp_get_themes();
|
||||
$last_update = get_site_transient( 'update_themes' );
|
||||
if ( ! is_object($last_update) )
|
||||
$last_update = new stdClass;
|
||||
|
||||
$themes = array();
|
||||
$checked = array();
|
||||
$exclude_fields = array('Template Files', 'Stylesheet Files', 'Status', 'Theme Root', 'Theme Root URI', 'Template Dir', 'Stylesheet Dir', 'Description', 'Tags', 'Screenshot');
|
||||
|
||||
// Put slug of current theme into request.
|
||||
$themes['current_theme'] = get_option( 'stylesheet' );
|
||||
|
||||
foreach ( (array) $installed_themes as $theme_title => $theme ) {
|
||||
$themes[$theme['Stylesheet']] = array();
|
||||
$checked[$theme['Stylesheet']] = $theme['Version'];
|
||||
foreach ( $installed_themes as $theme ) {
|
||||
$checked[ $theme->get_stylesheet() ] = $theme->get('Version');
|
||||
|
||||
$themes[$theme['Stylesheet']]['Name'] = $theme['Name'];
|
||||
$themes[$theme['Stylesheet']]['Version'] = $theme['Version'];
|
||||
|
||||
foreach ( (array) $theme as $key => $value ) {
|
||||
if ( !in_array($key, $exclude_fields) )
|
||||
$themes[$theme['Stylesheet']][$key] = $value;
|
||||
}
|
||||
$themes[ $theme->get_stylesheet() ] = array(
|
||||
'Name' => $theme->get('Name'),
|
||||
'Title' => $theme->get('Name'),
|
||||
'Version' => $theme->get('Version'),
|
||||
'Author' => $theme->get('Author'),
|
||||
'Author URI' => $theme->get('AuthorURI'),
|
||||
'Template' => $theme->get_template(),
|
||||
'Stylesheet' => $theme->get_stylesheet(),
|
||||
);
|
||||
}
|
||||
|
||||
// Check for update on a different schedule, depending on the page.
|
||||
|
||||
Reference in New Issue
Block a user