Back compat for bundled themes. Props nacin, SergeyBiryukov, kobenland. fixes #20768
git-svn-id: http://core.svn.wordpress.org/trunk@20983 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
82122d2ba8
commit
55958522c1
|
@ -114,7 +114,7 @@ function twentyeleven_setup() {
|
|||
add_theme_support( 'post-thumbnails' );
|
||||
|
||||
// Add support for custom headers.
|
||||
add_theme_support( 'custom-header', array(
|
||||
$custom_header_support = array(
|
||||
// The default header text color.
|
||||
'default-text-color' => '000',
|
||||
// The height and width of our custom header.
|
||||
|
@ -130,16 +130,28 @@ function twentyeleven_setup() {
|
|||
'admin-head-callback' => 'twentyeleven_admin_header_style',
|
||||
// Callback used to display the header preview in the admin.
|
||||
'admin-preview-callback' => 'twentyeleven_admin_header_image',
|
||||
) );
|
||||
);
|
||||
|
||||
add_theme_support( 'custom-header', $custom_header_support );
|
||||
|
||||
if ( ! function_exists( 'get_custom_header' ) ) {
|
||||
// This is all for compatibility with versions of WordPress prior to 3.4.
|
||||
define( 'HEADER_TEXTCOLOR', $custom_header_support['default-text-color'] );
|
||||
define( 'HEADER_IMAGE', '' );
|
||||
define( 'HEADER_IMAGE_WIDTH', $custom_header_support['width'] );
|
||||
define( 'HEADER_IMAGE_HEIGHT', $custom_header_support['height'] );
|
||||
add_custom_image_header( $custom_header_support['wp-head-callback'], $custom_header_support['admin-head-callback'], $custom_header_support['admin-preview-callback'] );
|
||||
add_custom_background();
|
||||
}
|
||||
|
||||
// We'll be using post thumbnails for custom header images on posts and pages.
|
||||
// We want them to be the size of the header image that we just defined
|
||||
// Larger images will be auto-cropped to fit, smaller ones will be ignored. See header.php.
|
||||
set_post_thumbnail_size( get_theme_support( 'custom-header', 'width' ), get_theme_support( 'custom-header', 'height' ), true );
|
||||
set_post_thumbnail_size( $custom_header_support['width'], $custom_header_support['height'], true );
|
||||
|
||||
// Add Twenty Eleven's custom image sizes.
|
||||
// Used for large feature (header) images.
|
||||
add_image_size( 'large-feature', get_theme_support( 'custom-header', 'width' ), get_theme_support( 'custom-header', 'height' ), true );
|
||||
add_image_size( 'large-feature', $custom_header_support['width'], $custom_header_support['height'], true );
|
||||
// Used for featured posts if a large-feature doesn't exist.
|
||||
add_image_size( 'small-feature', 500, 300 );
|
||||
|
||||
|
@ -207,8 +219,9 @@ function twentyeleven_header_style() {
|
|||
$text_color = get_header_textcolor();
|
||||
|
||||
// If no custom options for text are set, let's bail.
|
||||
if ( $text_color == get_theme_support( 'custom-header', 'default-text-color' ) )
|
||||
if ( $text_color == HEADER_TEXTCOLOR )
|
||||
return;
|
||||
|
||||
// If we get this far, we have custom styles. Let's do this.
|
||||
?>
|
||||
<style type="text/css">
|
||||
|
@ -269,7 +282,7 @@ function twentyeleven_admin_header_style() {
|
|||
}
|
||||
<?php
|
||||
// If the user has set a custom color for the text use that
|
||||
if ( get_header_textcolor() != get_theme_support( 'custom-header', 'default-text-color' ) ) :
|
||||
if ( get_header_textcolor() != HEADER_TEXTCOLOR ) :
|
||||
?>
|
||||
#site-title a,
|
||||
#site-description {
|
||||
|
|
|
@ -79,8 +79,15 @@
|
|||
// Check to see if the header image has been removed
|
||||
$header_image = get_header_image();
|
||||
if ( $header_image ) :
|
||||
$header_image_width = get_custom_header()->width;
|
||||
?>
|
||||
// Compatibility with versions of WordPress prior to 3.4.
|
||||
if ( function_exists( 'get_custom_header' ) ) {
|
||||
// We need to figure out what the minimum width should be for our featured image.
|
||||
// This result would be the suggested width if the theme were to implement flexible widths.
|
||||
$header_image_width = get_theme_support( 'custom-header', 'width' );
|
||||
} else {
|
||||
$header_image_width = HEADER_IMAGE_WIDTH;
|
||||
}
|
||||
?>
|
||||
<a href="<?php echo esc_url( home_url( '/' ) ); ?>">
|
||||
<?php
|
||||
// The header image
|
||||
|
@ -90,8 +97,17 @@
|
|||
$image[1] >= $header_image_width ) :
|
||||
// Houston, we have a new header image!
|
||||
echo get_the_post_thumbnail( $post->ID, 'post-thumbnail' );
|
||||
else : ?>
|
||||
<img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo get_custom_header()->height; ?>" alt="" />
|
||||
else :
|
||||
// Compatibility with versions of WordPress prior to 3.4.
|
||||
if ( function_exists( 'get_custom_header' ) ) {
|
||||
$header_image_width = get_custom_header()->width;
|
||||
$header_image_height = get_custom_header()->height;
|
||||
} else {
|
||||
$header_image_width = HEADER_IMAGE_WIDTH;
|
||||
$header_image_height = HEADER_IMAGE_HEIGHT;
|
||||
}
|
||||
?>
|
||||
<img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" />
|
||||
<?php endif; // end check for featured image or standard header ?>
|
||||
</a>
|
||||
<?php endif; // end check for removed header image ?>
|
||||
|
|
|
@ -66,8 +66,12 @@ get_header(); ?>
|
|||
*/
|
||||
$counter_slider = 0;
|
||||
|
||||
$header_image_width = get_theme_support( 'custom-header', 'width' );
|
||||
?>
|
||||
// Compatibility with versions of WordPress prior to 3.4.
|
||||
if ( function_exists( 'get_custom_header' ) )
|
||||
$header_image_width = get_theme_support( 'custom-header', 'width' );
|
||||
else
|
||||
$header_image_width = HEADER_IMAGE_WIDTH;
|
||||
?>
|
||||
|
||||
<div class="featured-posts">
|
||||
<h1 class="showcase-heading"><?php _e( 'Featured Post', 'twentyeleven' ); ?></h1>
|
||||
|
|
|
@ -101,7 +101,7 @@ function twentyten_setup() {
|
|||
|
||||
// The custom header business starts here.
|
||||
|
||||
add_theme_support( 'custom-header', array(
|
||||
$custom_header_support = array(
|
||||
// The default image to use.
|
||||
// The %s is a placeholder for the theme template directory URI.
|
||||
'default-image' => '%s/images/headers/path.jpg',
|
||||
|
@ -114,12 +114,25 @@ function twentyten_setup() {
|
|||
'header-text' => false,
|
||||
// Callback for styling the header preview in the admin.
|
||||
'admin-head-callback' => 'twentyten_admin_header_style',
|
||||
) );
|
||||
);
|
||||
|
||||
add_theme_support( 'custom-header', $custom_header_support );
|
||||
|
||||
if ( ! function_exists( 'get_custom_header' ) ) {
|
||||
// This is all for compatibility with versions of WordPress prior to 3.4.
|
||||
define( 'HEADER_TEXTCOLOR', '' );
|
||||
define( 'NO_HEADER_TEXT', true );
|
||||
define( 'HEADER_IMAGE', $custom_header_support['default-image'] );
|
||||
define( 'HEADER_IMAGE_WIDTH', $custom_header_support['width'] );
|
||||
define( 'HEADER_IMAGE_HEIGHT', $custom_header_support['height'] );
|
||||
add_custom_image_header( '', $custom_header_support['admin-head-callback'] );
|
||||
add_custom_background();
|
||||
}
|
||||
|
||||
// We'll be using post thumbnails for custom header images on posts and pages.
|
||||
// We want them to be 940 pixels wide by 198 pixels tall.
|
||||
// Larger images will be auto-cropped to fit, smaller ones will be ignored. See header.php.
|
||||
set_post_thumbnail_size( get_theme_support( 'custom-header', 'width' ), get_theme_support( 'custom-header', 'height' ), true );
|
||||
set_post_thumbnail_size( $custom_header_support['width'], $custom_header_support['height'], true );
|
||||
|
||||
// ... and thus ends the custom header business.
|
||||
|
||||
|
|
|
@ -66,22 +66,33 @@
|
|||
<div id="site-description"><?php bloginfo( 'description' ); ?></div>
|
||||
|
||||
<?php
|
||||
// Compatibility with versions of WordPress prior to 3.4.
|
||||
if ( function_exists( 'get_custom_header' ) ) {
|
||||
// We need to figure out what the minimum width should be for our featured image.
|
||||
// This result would be the suggested width if the theme were to implement flexible widths.
|
||||
$header_image_width = get_theme_support( 'custom-header', 'width' );
|
||||
} else {
|
||||
$header_image_width = HEADER_IMAGE_WIDTH;
|
||||
}
|
||||
|
||||
// Check if this is a post or page, if it has a thumbnail, and if it's a big one
|
||||
if ( is_singular() && current_theme_supports( 'post-thumbnails' ) &&
|
||||
has_post_thumbnail( $post->ID ) &&
|
||||
( /* $src, $width, $height */ $image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'post-thumbnail' ) ) &&
|
||||
$image[1] >= get_theme_support( 'custom-header', 'width' ) ) :
|
||||
$image[1] >= $header_image_width ) :
|
||||
// Houston, we have a new header image!
|
||||
echo get_the_post_thumbnail( $post->ID );
|
||||
elseif ( get_header_image() ) :
|
||||
elseif ( get_header_image() ) :
|
||||
// Compatibility with versions of WordPress prior to 3.4.
|
||||
if ( function_exists( 'get_custom_header' ) ) {
|
||||
$header_width = get_custom_header()->width;
|
||||
$header_height = get_custom_header()->height;
|
||||
$header_image_width = get_custom_header()->width;
|
||||
$header_image_height = get_custom_header()->height;
|
||||
} else {
|
||||
$header_height = $header_width = '';
|
||||
$header_image_width = HEADER_IMAGE_WIDTH;
|
||||
$header_image_height = HEADER_IMAGE_HEIGHT;
|
||||
}
|
||||
?>
|
||||
<img src="<?php header_image(); ?>" width="<?php echo $header_width; ?>" height="<?php echo $header_height; ?>" alt="" />
|
||||
?>
|
||||
<img src="<?php header_image(); ?>" width="<?php echo $header_image_width; ?>" height="<?php echo $header_image_height; ?>" alt="" />
|
||||
<?php endif; ?>
|
||||
</div><!-- #branding -->
|
||||
|
||||
|
|
Loading…
Reference in New Issue