Make WordPress Core

Changeset 20222


Ignore:
Timestamp:
03/20/2012 08:37:53 PM (12 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.