_s: Remove back compat for custom header/background. Fixes #244.

This commit is contained in:
obenland 2013-06-27 07:14:12 -07:00
parent 514b2aa62d
commit 584ed2a6f2
2 changed files with 24 additions and 93 deletions

View File

@ -52,41 +52,18 @@ function _s_setup() {
* Enable support for Post Formats * Enable support for Post Formats
*/ */
add_theme_support( 'post-formats', array( 'aside', 'image', 'video', 'quote', 'link' ) ); add_theme_support( 'post-formats', array( 'aside', 'image', 'video', 'quote', 'link' ) );
/**
* Setup the WordPress core custom background feature.
*/
add_theme_support( 'custom-background', apply_filters( '_s_custom_background_args', array(
'default-color' => 'ffffff',
'default-image' => '',
) ) );
} }
endif; // _s_setup endif; // _s_setup
add_action( 'after_setup_theme', '_s_setup' ); add_action( 'after_setup_theme', '_s_setup' );
/**
* Setup the WordPress core custom background feature.
*
* Use add_theme_support to register support for WordPress 3.4+
* as well as provide backward compatibility for WordPress 3.3
* using feature detection of wp_get_theme() which was introduced
* in WordPress 3.4.
*
* @todo Remove the 3.3 support when WordPress 3.6 is released.
*
* Hooks into the after_setup_theme action.
*/
function _s_register_custom_background() {
$args = array(
'default-color' => 'ffffff',
'default-image' => '',
);
$args = apply_filters( '_s_custom_background_args', $args );
if ( function_exists( 'wp_get_theme' ) ) {
add_theme_support( 'custom-background', $args );
} else {
define( 'BACKGROUND_COLOR', $args['default-color'] );
if ( ! empty( $args['default-image'] ) )
define( 'BACKGROUND_IMAGE', $args['default-image'] );
add_custom_background();
}
}
add_action( 'after_setup_theme', '_s_register_custom_background' );
/** /**
* Register widgetized area and update sidebar with default widgets * Register widgetized area and update sidebar with default widgets
*/ */

View File

@ -19,13 +19,6 @@
/** /**
* Setup the WordPress core custom header feature. * Setup the WordPress core custom header feature.
* *
* Use add_theme_support to register support for WordPress 3.4+
* as well as provide backward compatibility for previous versions.
* Use feature detection of wp_get_theme() which was introduced
* in WordPress 3.4.
*
* @todo Rework this function to remove WordPress 3.4 support when WordPress 3.6 is released.
*
* @uses _s_header_style() * @uses _s_header_style()
* @uses _s_admin_header_style() * @uses _s_admin_header_style()
* @uses _s_admin_header_image() * @uses _s_admin_header_image()
@ -33,7 +26,7 @@
* @package _s * @package _s
*/ */
function _s_custom_header_setup() { function _s_custom_header_setup() {
$args = array( add_theme_support( 'custom-header', apply_filters( '_s_custom_header_args', array(
'default-image' => '', 'default-image' => '',
'default-text-color' => '000', 'default-text-color' => '000',
'width' => 1000, 'width' => 1000,
@ -42,48 +35,10 @@ function _s_custom_header_setup() {
'wp-head-callback' => '_s_header_style', 'wp-head-callback' => '_s_header_style',
'admin-head-callback' => '_s_admin_header_style', 'admin-head-callback' => '_s_admin_header_style',
'admin-preview-callback' => '_s_admin_header_image', 'admin-preview-callback' => '_s_admin_header_image',
); ) ) );
$args = apply_filters( '_s_custom_header_args', $args );
if ( function_exists( 'wp_get_theme' ) ) {
add_theme_support( 'custom-header', $args );
} else {
// Compat: Versions of WordPress prior to 3.4.
define( 'HEADER_TEXTCOLOR', $args['default-text-color'] );
define( 'HEADER_IMAGE', $args['default-image'] );
define( 'HEADER_IMAGE_WIDTH', $args['width'] );
define( 'HEADER_IMAGE_HEIGHT', $args['height'] );
add_custom_image_header( $args['wp-head-callback'], $args['admin-head-callback'], $args['admin-preview-callback'] );
}
} }
add_action( 'after_setup_theme', '_s_custom_header_setup' ); add_action( 'after_setup_theme', '_s_custom_header_setup' );
/**
* Shiv for get_custom_header().
*
* get_custom_header() was introduced to WordPress
* in version 3.4. To provide backward compatibility
* with previous versions, we will define our own version
* of this function.
*
* @todo Remove this function when WordPress 3.6 is released.
* @return stdClass All properties represent attributes of the curent header image.
*
* @package _s
*/
if ( ! function_exists( 'get_custom_header' ) ) {
function get_custom_header() {
return (object) array(
'url' => get_header_image(),
'thumbnail_url' => get_header_image(),
'width' => HEADER_IMAGE_WIDTH,
'height' => HEADER_IMAGE_HEIGHT,
);
}
}
if ( ! function_exists( '_s_header_style' ) ) : if ( ! function_exists( '_s_header_style' ) ) :
/** /**
* Styles the header image and text displayed on the blog * Styles the header image and text displayed on the blog
@ -108,7 +63,6 @@ function _s_header_style() {
.site-title, .site-title,
.site-description { .site-description {
position: absolute; position: absolute;
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
clip: rect(1px, 1px, 1px, 1px); clip: rect(1px, 1px, 1px, 1px);
} }
<?php <?php