X-Git-Url: https://scripts.mit.edu/gitweb/autoinstalls/wordpress.git/blobdiff_plain/6c8f14c09105d0afa4c1574215c59b5021040e76..refs/tags/wordpress-3.6.1-scripts:/wp-includes/theme.php diff --git a/wp-includes/theme.php b/wp-includes/theme.php index d8c24197..b583f524 100644 --- a/wp-includes/theme.php +++ b/wp-includes/theme.php @@ -340,7 +340,7 @@ function search_theme_directories( $force = false ) { // Set up maybe-relative, maybe-absolute array of theme directories. // We always want to return absolute, but we need to cache relative - // use in for get_theme_root(). + // to use in get_theme_root(). foreach ( $wp_theme_directories as $theme_root ) { if ( 0 === strpos( $theme_root, WP_CONTENT_DIR ) ) $relative_theme_roots[ str_replace( WP_CONTENT_DIR, '', $theme_root ) ] = $theme_root; @@ -544,7 +544,7 @@ function locale_stylesheet() { /** * Start preview theme output buffer. * - * Will only preform task if the user has permissions and template and preview + * Will only perform task if the user has permissions and template and preview * query variables exist. * * @since 2.6.0 @@ -631,7 +631,7 @@ function preview_theme_ob_filter( $content ) { */ function preview_theme_ob_filter_callback( $matches ) { if ( strpos($matches[4], 'onclick') !== false ) - $matches[4] = preg_replace('#onclick=([\'"]).*?(?. (?. (?ID; $header_images[$header_index]['url'] = $url; $header_images[$header_index]['thumbnail_url'] = $url; - $header_images[$header_index]['width'] = $header_data['width']; - $header_images[$header_index]['height'] = $header_data['height']; + if ( isset( $header_data['width'] ) ) + $header_images[$header_index]['width'] = $header_data['width']; + if ( isset( $header_data['height'] ) ) + $header_images[$header_index]['height'] = $header_data['height']; } return $header_images; @@ -1262,6 +1264,20 @@ function add_theme_support( $feature ) { $args[0] = array_intersect( $args[0], array_keys( get_post_format_slugs() ) ); break; + case 'html5' : + // You can't just pass 'html5', you need to pass an array of types. + if ( empty( $args[0] ) ) { + $args = array( 0 => array( 'comment-list', 'comment-form', 'search-form' ) ); + } elseif ( ! is_array( $args[0] ) ) { + _doing_it_wrong( "add_theme_support( 'html5' )", 'You need to pass an array of types.', '3.6.1' ); + return false; + } + + // Calling 'html5' again merges, rather than overwrites. + if ( isset( $_wp_theme_features['html5'] ) ) + $args[0] = array_merge( $_wp_theme_features['html5'][0], $args[0] ); + break; + case 'custom-header-uploads' : return add_theme_support( 'custom-header', array( 'uploads' => true ) ); break; @@ -1489,7 +1505,7 @@ function _remove_theme_support( $feature ) { switch ( $feature ) { case 'custom-header' : - if ( false === did_action( 'wp_loaded', '_custom_header_background_just_in_time' ) ) + if ( ! did_action( 'wp_loaded' ) ) break; $support = get_theme_support( 'custom-header' ); if ( $support[0]['wp-head-callback'] ) @@ -1499,7 +1515,7 @@ function _remove_theme_support( $feature ) { break; case 'custom-background' : - if ( false === did_action( 'wp_loaded', '_custom_header_background_just_in_time' ) ) + if ( ! did_action( 'wp_loaded' ) ) break; $support = get_theme_support( 'custom-background' ); remove_action( 'wp_head', $support[0]['wp-head-callback'] ); @@ -1545,11 +1561,15 @@ function current_theme_supports( $feature ) { return in_array( $content_type, $_wp_theme_features[$feature][0] ); break; + case 'html5': case 'post-formats': // specific post formats can be registered by passing an array of types to // add_theme_support() - $post_format = $args[0]; - return in_array( $post_format, $_wp_theme_features[$feature][0] ); + + // Specific areas of HTML5 support *must* be passed via an array to add_theme_support() + + $type = $args[0]; + return in_array( $type, $_wp_theme_features[$feature][0] ); break; case 'custom-header':