WordPress.org

Make WordPress Core

Changeset 20222


Ignore:
Timestamp:
03/20/12 20:37:53 (3 years ago)
Author:
nacin
Message:

Update twentyeleven/functions.php to use the new add_theme_support() calls for backgrounds and headers. props sabreuse for initial patch. see #20265. see #20249.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-content/themes/twentyeleven/functions.php

    r19582 r20222  
    104104    add_theme_support( 'post-formats', array( 'aside', 'link', 'gallery', 'status', 'quote', 'image' ) ); 
    105105 
    106     // Add support for custom backgrounds 
    107     add_custom_background(); 
     106    // Add support for custom backgrounds. 
     107    add_theme_support( 'custom-background' ); 
    108108 
    109109    // This theme uses Featured Images (also known as post thumbnails) for per-post/per-page Custom Header images 
    110110    add_theme_support( 'post-thumbnails' ); 
    111111 
    112     // The next four constants set how Twenty Eleven supports custom headers. 
    113  
    114     // The default header text color 
    115     define( 'HEADER_TEXTCOLOR', '000' ); 
    116  
    117     // By leaving empty, we allow for random image rotation. 
    118     define( 'HEADER_IMAGE', '' ); 
    119  
    120     // The height and width of your custom header. 
    121     // Add a filter to twentyeleven_header_image_width and twentyeleven_header_image_height to change these values. 
    122     define( 'HEADER_IMAGE_WIDTH', apply_filters( 'twentyeleven_header_image_width', 1000 ) ); 
    123     define( 'HEADER_IMAGE_HEIGHT', apply_filters( 'twentyeleven_header_image_height', 288 ) ); 
     112    // Add support for custom headers. 
     113    add_theme_support( 'custom-header', array( 
     114        // The default header text color. 
     115        'default-text-color' => '000', 
     116        // The height and width of our custom header. 
     117        'width' => apply_filters( 'twentyeleven_header_image_width', 1000 ), 
     118        'height' => apply_filters( 'twentyeleven_header_image_height', 288 ), 
     119        // Random image rotation by default. 
     120        'random-default' => true, 
     121        // Callback for styling the header. 
     122        'callback' => 'twentyeleven_header_style', 
     123        // Callback for styling the header preview in the admin. 
     124        'admin-header-callback' => 'twentyeleven_admin_header_style', 
     125        // Callback used to display the header preview in the admin. 
     126        'admin-image-div-callback' => 'twentyeleven_admin_header_image', 
     127    ) ); 
    124128 
    125129    // We'll be using post thumbnails for custom header images on posts and pages. 
    126130    // We want them to be the size of the header image that we just defined 
    127131    // Larger images will be auto-cropped to fit, smaller ones will be ignored. See header.php. 
    128     set_post_thumbnail_size( HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT, true ); 
    129  
    130     // Add Twenty Eleven's custom image sizes 
    131     add_image_size( 'large-feature', HEADER_IMAGE_WIDTH, HEADER_IMAGE_HEIGHT, true ); // Used for large feature (header) images 
    132     add_image_size( 'small-feature', 500, 300 ); // Used for featured posts if a large-feature doesn't exist 
    133  
    134     // Turn on random header image rotation by default. 
    135     add_theme_support( 'custom-header', array( 'random-default' => true ) ); 
    136  
    137     // Add a way for the custom header to be styled in the admin panel that controls 
    138     // custom headers. See twentyeleven_admin_header_style(), below. 
    139     add_custom_image_header( 'twentyeleven_header_style', 'twentyeleven_admin_header_style', 'twentyeleven_admin_header_image' ); 
    140  
    141     // ... and thus ends the changeable header business. 
     132    set_post_thumbnail_size( get_theme_support( 'custom-header', 'width' ), get_theme_support( 'custom-header', 'height' ), true ); 
     133 
     134    // Add Twenty Eleven's custom image sizes. 
     135    // Used for large feature (header) images. 
     136    add_image_size( 'large-feature', get_theme_support( 'custom-header', 'width' ), get_theme_support( 'custom-header', 'height' ), true ); 
     137    // Used for featured posts if a large-feature doesn't exist. 
     138    add_image_size( 'small-feature', 500, 300 ); 
    142139 
    143140    // Default custom headers packaged with the theme. %s is a placeholder for the theme template directory URI. 
     
    202199 */ 
    203200function twentyeleven_header_style() { 
    204  
    205     // If no custom options for text are set, let's bail 
    206     // get_header_textcolor() options: HEADER_TEXTCOLOR is default, hide text (returns 'blank') or any hex value 
    207     if ( HEADER_TEXTCOLOR == get_header_textcolor() ) 
     201    $text_color = get_header_textcolor(); 
     202 
     203    // If no custom options for text are set, let's bail. 
     204    if ( $text_color == get_theme_support( 'custom-header', 'default-text-color' ) ) 
    208205        return; 
    209206    // If we get this far, we have custom styles. Let's do this. 
     
    212209    <?php 
    213210        // Has the text been hidden? 
    214         if ( 'blank' == get_header_textcolor() ) : 
     211        if ( 'blank' == $text_color ) : 
    215212    ?> 
    216213        #site-title, 
     
    226223        #site-title a, 
    227224        #site-description { 
    228             color: #<?php echo get_header_textcolor(); ?> !important; 
     225            color: #<?php echo $text_color; ?> !important; 
    229226        } 
    230227    <?php endif; ?> 
     
    267264    <?php 
    268265        // If the user has set a custom color for the text use that 
    269         if ( get_header_textcolor() != HEADER_TEXTCOLOR ) : 
     266        if ( get_header_textcolor() != get_theme_support( 'custom-header', 'default-text-color' ) ) : 
    270267    ?> 
    271268        #site-title a, 
     
    295292    <div id="headimg"> 
    296293        <?php 
    297         if ( 'blank' == get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) || '' == get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) ) 
    298             $style = ' style="display:none;"'; 
     294        $color = get_header_textcolor(); 
     295        $image = get_header_image(); 
     296        if ( $color && $color != 'blank' ) 
     297            $style = ' style="color:#' . $color . '"'; 
    299298        else 
    300             $style = ' style="color:#' . get_theme_mod( 'header_textcolor', HEADER_TEXTCOLOR ) . ';"'; 
     299            $style = ' style="display:none"'; 
    301300        ?> 
    302301        <h1><a id="name"<?php echo $style; ?> onclick="return false;" href="<?php echo esc_url( home_url( '/' ) ); ?>"><?php bloginfo( 'name' ); ?></a></h1> 
    303302        <div id="desc"<?php echo $style; ?>><?php bloginfo( 'description' ); ?></div> 
    304         <?php $header_image = get_header_image(); 
    305         if ( ! empty( $header_image ) ) : ?> 
    306             <img src="<?php echo esc_url( $header_image ); ?>" alt="" /> 
     303        <?php if ( $image ) : ?> 
     304            <img src="<?php echo esc_url( $image ); ?>" alt="" /> 
    307305        <?php endif; ?> 
    308306    </div> 
Note: See TracChangeset for help on using the changeset viewer.