Make WordPress Core


Ignore:
Timestamp:
02/28/2012 09:24:44 PM (12 years ago)
Author:
nacin
Message:

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.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-admin/includes/deprecated.php

    r19684 r20029  
    881881    WP_Screen::add_old_compat_help( $screen, $help );
    882882}
     883
     884/**
     885 * Get the allowed themes for the current blog.
     886 *
     887 * @since 3.0.0
     888 * @deprecated 3.4.0
     889 * @deprecated Use wp_get_themes()
     890 * @see wp_get_themes()
     891 *
     892 * @return array $themes Array of allowed themes.
     893 */
     894function get_allowed_themes() {
     895    _deprecated_function( __FUNCTION__, '3.4', "wp_get_themes( array( 'allowed' => true ) )" );
     896
     897    $themes = wp_get_themes( array( 'allowed' => true ) );
     898
     899    $wp_themes = array();
     900    foreach ( $themes as $theme ) {
     901        $wp_themes[ $theme->get('Name') ] = $theme;
     902    }
     903
     904    return $wp_themes;
     905}
     906
     907/**
     908 * {@internal Missing Short Description}}
     909 *
     910 * @since 1.5.0
     911 *
     912 * @return unknown
     913 */
     914function get_broken_themes() {
     915    _deprecated_function( __FUNCTION__, '3.4', "wp_get_themes( array( 'errors' => true )" );
     916
     917    $themes = wp_get_themes( array( 'errors' => true ) );
     918    $broken = array();
     919    foreach ( $themes as $theme ) {
     920        $broken[ $theme->get('Name') ] = array(
     921            'Title' => $theme->get('Name'),
     922            'Description' => $theme->errors()->get_error_message(),
     923        );
     924    }
     925    return $broken;
     926}
     927
     928/**
     929 * {@internal Missing Short Description}}
     930 *
     931 * @since 2.0.0
     932 *
     933 * @return unknown
     934 */
     935function current_theme_info() {
     936    _deprecated_function( __FUNCTION__, '3.4', 'wp_get_theme()' );
     937
     938    return wp_get_theme();
     939}
Note: See TracChangeset for help on using the changeset viewer.