Ticket #20103: 20103.4.diff
| File 20103.4.diff, 2.9 KB (added by , 14 years ago) |
|---|
-
wp-includes/class-wp-theme.php
113 113 private $parent; 114 114 115 115 /** 116 * URL to the theme root, usually an absolute URL to wp-content/themes 117 * 118 * @access private 119 * var string 120 */ 121 private $theme_root_uri; 122 123 /** 116 124 * Flag for whether the theme's textdomain is loaded. 117 125 * 118 126 * @access private … … 789 797 /** 790 798 * Returns the URL to the directory of the theme root. 791 799 * 792 * This is typically the absolute path to wp-content/themes. 800 * This is typically the absolute URL to wp-content/themes. This forms the basis 801 * for all other URLs returned by WP_Theme, so we pass it to the public function 802 * get_theme_root_uri() and allow it to run the theme_root_uri filter. 793 803 * 804 * @uses get_theme_root_uri() 805 * 794 806 * @since 3.4.0 795 807 * @access public 796 808 * 797 809 * @return string Theme root URI. 798 810 */ 799 811 public function get_theme_root_uri() { 800 if ( 0 === strpos( WP_CONTENT_DIR, $this->theme_root ) ) 801 return str_replace( WP_CONTENT_DIR, content_url(), $this->theme_root ); 802 // Give up, send it off to the filter. 803 return get_theme_root_uri( $this->stylesheet ); 812 if ( ! isset( $this->theme_root_uri ) ) 813 $this->theme_root_uri = get_theme_root_uri( $this->stylesheet, $this->theme_root ); 814 return $this->theme_root_uri; 804 815 } 805 816 806 817 /** -
wp-includes/theme.php
525 525 * 526 526 * @since 1.5.0 527 527 * 528 * @param string $stylesheet_or_template The stylesheet or template name of the theme 528 * @param string $stylesheet_or_template Optional. The stylesheet or template name of the theme. 529 * Default is to leverage the main theme root. 530 * @param string $theme_root Optional. The theme root for which calculations can be based, preventing 531 * the need for a get_raw_theme_root() call. 529 532 * @return string Themes URI. 530 533 */ 531 function get_theme_root_uri( $stylesheet_or_template = false ) {534 function get_theme_root_uri( $stylesheet_or_template = false, $theme_root = false ) { 532 535 global $wp_theme_directories; 533 536 534 if ( $stylesheet_or_template && $theme_root = get_raw_theme_root( $stylesheet_or_template ) ) { 537 if ( count( $wp_theme_directories ) <= 1 ) 538 return apply_filters( 'theme_root_uri', content_url( 'themes' ), get_option('siteurl'), $stylesheet_or_template ); 539 540 if ( $stylesheet_or_template && ! $theme_root ) 541 $theme_root = get_raw_theme_root( $stylesheet_or_template ); 542 543 if ( $stylesheet_or_template && $theme_root ) { 535 544 if ( in_array( $theme_root, (array) $wp_theme_directories ) ) { 536 545 // Absolute path. Make an educated guess. YMMV -- but note the filter below. 537 546 if ( 0 === strpos( $theme_root, WP_CONTENT_DIR ) )