WordPress.org

Make WordPress Core

Ticket #18302: 18302.theme_url.3.diff

File 18302.theme_url.3.diff, 1.7 KB (added by georgestephanis, 3 years ago)
  • wp-includes/link-template.php

     
    20612061} 
    20622062 
    20632063/** 
     2064 * Retrieve the url of the highest priority template file that exists. 
     2065 * 
     2066 * Searches in the stylesheet directory before the template directory so themes 
     2067 * which inherit from a parent theme can just overload one file. 
     2068 * 
     2069 * @since 3.5 
     2070 * 
     2071 * @param string|array $template_names Template file(s) to search for, in order. 
     2072 * @return string The URI of the file if one is located. 
     2073 */ 
     2074function theme_url( $template_names, $else = null ) { 
     2075        $url = $else; 
     2076        $stylesheet_directory = trailingslashit( get_stylesheet_directory() ); 
     2077        $template_directory = trailingslashit( get_template_directory() ); 
     2078        $is_child_theme = ( $stylesheet_directory !== $template_directory ); 
     2079 
     2080        foreach ( (array) $template_names as $template_name ) { 
     2081                if ( ! $template_name = ltrim( $template_name, '/' ) ) 
     2082                        continue; 
     2083                if ( $is_child_theme && file_exists( $stylesheet_directory . $template_name ) ) { 
     2084                        $url = trailingslashit( get_stylesheet_directory_uri() ) . $template_name; 
     2085                        break; 
     2086                } elseif ( file_exists( $template_directory . $template_name ) ) { 
     2087                        $url = trailingslashit( get_template_directory_uri() ) . $template_name; 
     2088                        break; 
     2089                } 
     2090        } 
     2091 
     2092        if( empty( $url ) && ! empty( $template_name ) ) 
     2093                $url = trailingslashit( get_template_directory_uri() ) . $template_name; 
     2094 
     2095        return apply_filters( 'theme_url', $url, $template_names, $else ); 
     2096} 
     2097 
     2098/** 
    20642099 * Retrieve the site url for the current network. 
    20652100 * 
    20662101 * Returns the site url with the appropriate protocol, 'https' if