From c2dca5db278753df7d12b4161343675321e7f081 Mon Sep 17 00:00:00 2001 From: Michael Fields Date: Sat, 2 Feb 2013 20:11:57 -1000 Subject: [PATCH] Add basic support for core custom background feature providing fallbacks for WordPress 3.3. Fixes #29 --- functions.php | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/functions.php b/functions.php index 89e9eb78..dccdbc78 100644 --- a/functions.php +++ b/functions.php @@ -79,6 +79,37 @@ function _s_setup() { endif; // _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 *