Make WordPress Core

Changeset 20015


Ignore:
Timestamp:
02/28/2012 04:22:26 PM (15 years ago)
Author:
nacin
Message:

Revert [20001]. Theme roots that are passed around, stored, and cached can be valid as absolute paths or paths relative to wp-content. We'll have to patch this elsewhere. see #17597.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/theme.php

    r20002 r20015  
    476476
    477477        if ( count($wp_theme_directories) <= 1 )
    478                 return get_theme_root();
     478                return '/themes';
    479479
    480480        $theme_roots = get_site_transient( 'theme_roots' );
    … …  
    548548 * @return bool
    549549 */
    550 function register_theme_directory( $directory ) {
     550function register_theme_directory( $directory) {
    551551        global $wp_theme_directories;
    552552
    553         if ( ! file_exists( $directory ) ) {
    554                 // Try prepending as the theme directory could be relative to the content directory
    555                 $directory = WP_CONTENT_DIR . '/' . $directory;
    556                 // If this directory does not exist, return and do not register
    557                 if ( ! file_exists( $directory ) )
    558                         return false;
    559         }
    560 
    561         $wp_theme_directories[] = $directory;
     553        /* If this folder does not exist, return and do not register */
     554        if ( !file_exists( $directory ) )
     555                        /* Try prepending as the theme directory could be relative to the content directory */
     556                $registered_directory = WP_CONTENT_DIR . '/' . $directory;
     557        else
     558                $registered_directory = $directory;
     559
     560        /* If this folder does not exist, return and do not register */
     561        if ( !file_exists( $registered_directory ) )
     562                return false;
     563
     564        $wp_theme_directories[] = $registered_directory;
    562565
    563566        return true;
    … …  
    658661 */
    659662function get_theme_root( $stylesheet_or_template = false ) {
    660         if ( $stylesheet_or_template && $theme_root = get_raw_theme_root( $stylesheet_or_template ) )
    661                 $theme_root = $theme_root;
    662         else
     663        if ( $stylesheet_or_template ) {
     664                if ( $theme_root = get_raw_theme_root($stylesheet_or_template) )
     665                        $theme_root = WP_CONTENT_DIR . $theme_root;
     666                else
     667                        $theme_root = WP_CONTENT_DIR . '/themes';
     668        } else {
    663669                $theme_root = WP_CONTENT_DIR . '/themes';
     670        }
    664671
    665672        return apply_filters( 'theme_root', $theme_root );
    … …  
    679686        if ( $stylesheet_or_template ) {
    680687                if ( $theme_root = get_raw_theme_root($stylesheet_or_template) )
    681                         $theme_root_uri = content_url( str_replace( WP_CONTENT_DIR, '', $theme_root ) );
     688                        $theme_root_uri = content_url( $theme_root );
    682689                else
    683690                        $theme_root_uri = content_url( 'themes' );
    … …  
    690697
    691698/**
    692  * Get the raw theme root with no filters applied.
     699 * Get the raw theme root relative to the content directory with no filters applied.
    693700 *
    694701 * @since 3.1.0
    695  *
    696  * Before 3.4.0, this incorrectly returned a path relative to the content directory ("/themes") when
    697  * only one theme directory was registered. Absolute paths are now always returned.
    698702 *
    699703 * @param string $stylesheet_or_template The stylesheet or template name of the theme
    … …  
    704708
    705709        if ( count($wp_theme_directories) <= 1 )
    706                 return WP_CONTENT_DIR . '/themes';
     710                return '/themes';
    707711
    708712        $theme_root = false;
Note: See TracChangeset for help on using the changeset viewer.