Changeset 20016 for trunk/wp-includes/theme.php
- Timestamp:
- 02/28/2012 06:02:21 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/wp-includes/theme.php
r20015 r20016 548 548 * @return bool 549 549 */ 550 function register_theme_directory( $directory ) {550 function register_theme_directory( $directory ) { 551 551 global $wp_theme_directories; 552 552 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; 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; 565 562 566 563 return true; … … 661 658 */ 662 659 function get_theme_root( $stylesheet_or_template = false ) { 663 if ( $stylesheet_or_template ) { 664 if ( $theme_root = get_raw_theme_root($stylesheet_or_template) ) 660 global $wp_theme_directories; 661 662 if ( $stylesheet_or_template && $theme_root = get_raw_theme_root( $stylesheet_or_template ) ) { 663 // Always prepend WP_CONTENT_DIR unless the root currently registered as a theme directory. 664 // This gives relative theme roots the benefit of the doubt when things go haywire. 665 if ( ! in_array( $theme_root, $wp_theme_directories ) ) 665 666 $theme_root = WP_CONTENT_DIR . $theme_root; 666 else667 $theme_root = WP_CONTENT_DIR . '/themes';668 667 } else { 669 668 $theme_root = WP_CONTENT_DIR . '/themes'; … … 684 683 */ 685 684 function get_theme_root_uri( $stylesheet_or_template = false ) { 686 if ( $stylesheet_or_template ) { 687 if ( $theme_root = get_raw_theme_root($stylesheet_or_template) ) 685 global $wp_theme_directories; 686 687 if ( $stylesheet_or_template && $theme_root = get_raw_theme_root( $stylesheet_or_template ) ) { 688 if ( in_array( $theme_root, $wp_theme_directories ) ) { 689 // Absolute path. Make an educated guess. YMMV -- but note the filter below. 690 if ( 0 === strpos( $theme_root, WP_CONTENT_DIR ) ) 691 $theme_root_uri = content_url( str_replace( WP_CONTENT_DIR, '', $theme_root ) ); 692 elseif ( 0 === strpos( $theme_root, ABSPATH ) ) 693 $theme_root_uri = site_url( str_replace( ABSPATH, '', $theme_root ) ); 694 elseif ( 0 === strpos( $theme_root, WP_PLUGIN_DIR ) || 0 === strpos( $theme_root, WPMU_PLUGIN_DIR ) ) 695 $theme_root_uri = plugins_url( basename( $theme_root ), $theme_root ); 696 else 697 $theme_root_uri = $theme_root; 698 } else { 688 699 $theme_root_uri = content_url( $theme_root ); 689 else 690 $theme_root_uri = content_url( 'themes' ); 700 } 691 701 } else { 692 702 $theme_root_uri = content_url( 'themes' );
Note: See TracChangeset
for help on using the changeset viewer.