WordPress.org

Make WordPress Core

Ticket #20768: 20768.3.diff

File 20768.3.diff, 9.4 KB (added by nacin, 9 years ago)
  • twentyten/functions.php

     
    101101
    102102        // The custom header business starts here.
    103103
    104         add_theme_support( 'custom-header', array(
     104        $custom_header_support = array(
    105105                // The default image to use.
    106106                // The %s is a placeholder for the theme template directory URI.
    107107                'default-image' => '%s/images/headers/path.jpg',
     
    114114                'header-text' => false,
    115115                // Callback for styling the header preview in the admin.
    116116                'admin-head-callback' => 'twentyten_admin_header_style',
    117         ) );
     117        );
     118       
     119        add_theme_support( 'custom-header', $custom_header_support );
     120       
     121        if ( ! function_exists( 'get_custom_header' ) ) {
     122                // This is all for compatibility with versions of WordPress prior to 3.4.
     123                define( 'HEADER_TEXTCOLOR', '' );
     124                define( 'NO_HEADER_TEXT', true );
     125                define( 'HEADER_IMAGE', $custom_header_support['default-image'] );
     126                define( 'HEADER_IMAGE_WIDTH', $custom_header_support['width'] );
     127                define( 'HEADER_IMAGE_HEIGHT', $custom_header_support['height'] );
     128                add_custom_image_header( '', $custom_header_support['admin-head-callback'] );
     129        }
    118130
    119131        // We'll be using post thumbnails for custom header images on posts and pages.
    120132        // We want them to be 940 pixels wide by 198 pixels tall.
    121133        // Larger images will be auto-cropped to fit, smaller ones will be ignored. See header.php.
    122         set_post_thumbnail_size( get_theme_support( 'custom-header', 'width' ), get_theme_support( 'custom-header', 'height' ), true );
     134        set_post_thumbnail_size( $custom_header_support['width'], $custom_header_support['height'], true );
    123135
    124136        // ... and thus ends the custom header business.
    125137
  • twentyten/header.php

     
    6666                                <div id="site-description"><?php bloginfo( 'description' ); ?></div>
    6767
    6868                                <?php
     69                                        // Compatibility with versions of WordPress prior to 3.4.
     70                                        if ( function_exists( 'get_custom_header' ) ) {
     71                                                // We need to figure out what the minimum width should be for our featured image.
     72                                                // This result would be the suggested width if the theme were to implement flexible widths.
     73                                                $header_image_width = get_theme_support( 'custom-header', 'width' );
     74                                        } else {
     75                                                $header_image_width = HEADER_IMAGE_WIDTH;
     76                                        }
     77
    6978                                        // Check if this is a post or page, if it has a thumbnail, and if it's a big one
    7079                                        if ( is_singular() && current_theme_supports( 'post-thumbnails' ) &&
    7180                                                        has_post_thumbnail( $post->ID ) &&
    7281                                                        ( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'post-thumbnail' ) ) &&
    73                                                         $image[1] >= get_theme_support( 'custom-header', 'width' ) ) :
     82                                                        $image[1] >= $header_image_width ) :
    7483                                                // Houston, we have a new header image!
    7584                                                echo get_the_post_thumbnail( $post->ID );
    76                                         elseif ( get_header_image() ) :
     85                                        elseif ( get_header_image() ) :
     86                                                // Compatibility with versions of WordPress prior to 3.4.
    7787                                                if ( function_exists( 'get_custom_header' ) ) {
    78                                                         $header_width  = get_custom_header()->width;
    79                                                         $header_height = get_custom_header()->height;
     88                                                        $header_image_width  = get_custom_header()->width;
     89                                                        $header_image_height = get_custom_header()->height;
    8090                                                } else {
    81                                                         $header_height = $header_width = '';
     91                                                        $header_image_width  = HEADER_IMAGE_WIDTH;
     92                                                        $header_image_height = HEADER_IMAGE_HEIGHT;
    8293                                                }
    83                                                 ?>
    84                                                 <img src="<?php header_image(); ?>" width="<?php echo $header_width; ?>" height="<?php echo $header_height; ?>" alt="" />
     94                                        ?>
     95                                                <img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" />
    8596                                        <?php endif; ?>
    8697                        </div><!-- #branding -->
    8798
  • twentyeleven/showcase.php

     
    6666                                         */
    6767                                        $counter_slider = 0;
    6868
    69                                         $header_image_width  = get_theme_support( 'custom-header', 'width' );
    70                                         ?>
     69                                        // Compatibility with versions of WordPress prior to 3.4.
     70                                        if ( function_exists( 'get_custom_header' ) )
     71                                                $header_image_width = get_theme_support( 'custom-header', 'width' );
     72                                        else
     73                                                $header_image_width = HEADER_IMAGE_WIDTH;
     74                                ?>
    7175
    7276                                <div class="featured-posts">
    7377                                        <h1 class="showcase-heading"><?php _e( 'Featured Post', 'twentyeleven' ); ?></h1>
  • twentyeleven/header.php

     
    7979                                // Check to see if the header image has been removed
    8080                                $header_image = get_header_image();
    8181                                if ( $header_image ) :
    82                                         $header_image_width  = get_custom_header()->width;
    83                         ?>
     82                                        // Compatibility with versions of WordPress prior to 3.4.
     83                                        if ( function_exists( 'get_custom_header' ) ) {
     84                                                // We need to figure out what the minimum width should be for our featured image.
     85                                                // This result would be the suggested width if the theme were to implement flexible widths.
     86                                                $header_image_width = get_theme_support( 'custom-header', 'width' );
     87                                        } else {
     88                                                $header_image_width = HEADER_IMAGE_WIDTH;
     89                                        }
     90                                        ?>
    8491                        <a href="<?php echo esc_url( home_url( '/' ) ); ?>">
    8592                                <?php
    8693                                        // The header image
     
    9097                                                        $image[1] >= $header_image_width ) :
    9198                                                // Houston, we have a new header image!
    9299                                                echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' );
    93                                         else : ?>
    94                                         <img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo get_custom_header()->height; ?>" alt="" />
     100                                        else :
     101                                                // Compatibility with versions of WordPress prior to 3.4.
     102                                                if ( function_exists( 'get_custom_header' ) ) {
     103                                                        $header_image_width  = get_custom_header()->width;
     104                                                        $header_image_height = get_custom_header()->height;
     105                                                } else {
     106                                                        $header_image_width  = HEADER_IMAGE_WIDTH;
     107                                                        $header_image_height = HEADER_IMAGE_HEIGHT;
     108                                                }
     109                                                ?>
     110                                        <img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" />
    95111                                <?php endif; // end check for featured image or standard header ?>
    96112                        </a>
    97113                        <?php endif; // end check for removed header image ?>
  • twentyeleven/functions.php

     
    114114        add_theme_support( 'post-thumbnails' );
    115115
    116116        // Add support for custom headers.
    117         add_theme_support( 'custom-header', array(
     117        $custom_header_support = array(
    118118                // The default header text color.
    119119                'default-text-color' => '000',
    120120                // The height and width of our custom header.
     
    130130                'admin-head-callback' => 'twentyeleven_admin_header_style',
    131131                // Callback used to display the header preview in the admin.
    132132                'admin-preview-callback' => 'twentyeleven_admin_header_image',
    133         ) );
     133        );
     134       
     135        add_theme_support( 'custom-header', $custom_header_support );
    134136
     137        if ( ! function_exists( 'get_custom_header' ) ) {
     138                // This is all for compatibility with versions of WordPress prior to 3.4.
     139                define( 'HEADER_TEXTCOLOR', $custom_header_support['default-text-color'] );
     140                define( 'HEADER_IMAGE', '' );
     141                define( 'HEADER_IMAGE_WIDTH', $custom_header_support['width'] );
     142                define( 'HEADER_IMAGE_HEIGHT', $custom_header_support['height'] );
     143                add_custom_image_header( $custom_header_support['wp-head-callback'], $custom_header_support['admin-head-callback'], $custom_header_support['admin-preview-callback'] );
     144        }
     145
    135146        // We'll be using post thumbnails for custom header images on posts and pages.
    136147        // We want them to be the size of the header image that we just defined
    137148        // Larger images will be auto-cropped to fit, smaller ones will be ignored. See header.php.
    138         set_post_thumbnail_size( get_theme_support( 'custom-header', 'width' ), get_theme_support( 'custom-header', 'height' ), true );
     149        set_post_thumbnail_size( $custom_header_support['width'], $custom_header_support['height'], true );
    139150
    140151        // Add Twenty Eleven's custom image sizes.
    141152        // Used for large feature (header) images.
    142         add_image_size( 'large-feature', get_theme_support( 'custom-header', 'width' ), get_theme_support( 'custom-header', 'height' ), true );
     153        add_image_size( 'large-feature', $custom_header_support['width'], $custom_header_support['height'], true );
    143154        // Used for featured posts if a large-feature doesn't exist.
    144155        add_image_size( 'small-feature', 500, 300 );
    145156
     
    207218        $text_color = get_header_textcolor();
    208219
    209220        // If no custom options for text are set, let's bail.
    210         if ( $text_color == get_theme_support( 'custom-header', 'default-text-color' ) )
     221        if ( $text_color == HEADER_TEXTCOLOR )
    211222                return;
     223               
    212224        // If we get this far, we have custom styles. Let's do this.
    213225        ?>
    214226        <style type="text/css">
     
    269281        }
    270282        <?php
    271283                // If the user has set a custom color for the text use that
    272                 if ( get_header_textcolor() != get_theme_support( 'custom-header', 'default-text-color' ) ) :
     284                if ( get_header_textcolor() != HEADER_TEXTCOLOR ) :
    273285        ?>
    274286                #site-title a,
    275287                #site-description {