diff --git a/wp-content/themes/twentytwelve/functions.php b/wp-content/themes/twentytwelve/functions.php index 21d678e6bf..cd17f5e17c 100644 --- a/wp-content/themes/twentytwelve/functions.php +++ b/wp-content/themes/twentytwelve/functions.php @@ -42,8 +42,6 @@ if ( ! isset( $content_width ) ) * @since Twenty Twelve 1.0 */ function twentytwelve_setup() { - global $twentytwelve_options; - /* * Makes Twenty Twelve available for translation. * @@ -53,10 +51,6 @@ function twentytwelve_setup() { */ load_theme_textdomain( 'twentytwelve', get_template_directory() . '/languages' ); - // Load up our theme options page and related code. - require( get_template_directory() . '/inc/theme-options.php' ); - $twentytwelve_options = new Twenty_Twelve_Options(); - // This theme styles the visual editor with editor-style.css to match the theme style. add_editor_style(); @@ -94,8 +88,6 @@ require( get_template_directory() . '/inc/custom-header.php' ); * @since Twenty Twelve 1.0 */ function twentytwelve_scripts_styles() { - global $twentytwelve_options; - /* * Adds JavaScript to pages with the comment form to support * sites with threaded comments (when in use). @@ -110,11 +102,9 @@ function twentytwelve_scripts_styles() { /* * Loads our special font CSS file. - * Depends on Theme Options setting. */ - $options = $twentytwelve_options->get_theme_options(); - if ( $options['enable_fonts'] ) - wp_enqueue_style( 'twentytwelve-fonts', $twentytwelve_options->custom_fonts_url(), array(), null ); + $protocol = is_ssl() ? 'https' : 'http'; + wp_enqueue_style( 'twentytwelve-fonts', "$protocol://fonts.googleapis.com/css?family=Open+Sans:400italic,700italic,400,700", array(), null ); /* * Loads our main stylesheet. @@ -399,4 +389,28 @@ function twentytwelve_content_width() { $content_width = 960; } } -add_action( 'template_redirect', 'twentytwelve_content_width' ); \ No newline at end of file +add_action( 'template_redirect', 'twentytwelve_content_width' ); + +/** + * Add postMessage support for site title and description for the Theme Customizer. + * + * @since Twenty Twelve 1.0 + * + * @param WP_Customize_Manager $wp_customize Theme Customizer object. + * @return void + */ +function twentytwelve_customize_register( $wp_customize ) { + $wp_customize->get_setting( 'blogname' )->transport = 'postMessage'; + $wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage'; +} +add_action( 'customize_register', 'twentytwelve_customize_register' ); + +/** + * Binds JS handlers to make Theme Customizer preview reload changes asynchronously. + * + * @since Twenty Twelve 1.0 + */ +function twentytwelve_customize_preview_js() { + wp_enqueue_script( 'twentytwelve-customizer', get_template_directory_uri() . '/js/theme-customizer.js', array( 'customize-preview' ), '20120827', true ); +} +add_action( 'customize_preview_init', 'twentytwelve_customize_preview_js' ); diff --git a/wp-content/themes/twentytwelve/inc/theme-options.php b/wp-content/themes/twentytwelve/inc/theme-options.php deleted file mode 100644 index f8dd328b3a..0000000000 --- a/wp-content/themes/twentytwelve/inc/theme-options.php +++ /dev/null @@ -1,260 +0,0 @@ -option_key = get_stylesheet() . '_theme_options'; - - add_action( 'admin_init', array( $this, 'options_init' ) ); - add_action( 'admin_menu', array( $this, 'add_page' ) ); - add_action( 'customize_register', array( $this, 'customize_register' ) ); - add_action( 'customize_preview_init', array( $this, 'customize_preview_js' ) ); - } - - /** - * Registers the form setting for our options array. - * - * This function is attached to the admin_init action hook. - * - * This call to register_setting() registers a validation callback, validate(), - * which is used when the option is saved, to ensure that our option values are properly - * formatted, and safe. - * - * @access public - * - * @return void - */ - public function options_init() { - // Load our options for use in any method. - $this->options = $this->get_theme_options(); - - // Register our option group. - register_setting( - 'twentytwelve_options', // Options group, see settings_fields() call in render_page() - $this->option_key, // Database option, see get_theme_options() - array( $this, 'validate' ) // The sanitization callback, see validate() - ); - - // Register our settings field group. - add_settings_section( - 'general', // Unique identifier for the settings section - '', // Section title (we don't want one) - '__return_false', // Section callback (we don't want anything) - 'theme_options' // Menu slug, used to uniquely identify the page; see add_page() - ); - - // Register our individual settings fields. - add_settings_field( - 'enable_fonts', // Unique identifier for the field for this section - __( 'Enable Web Fonts', 'twentytwelve' ), // Setting field label - array( $this, 'settings_field_enable_fonts' ), // Function that renders the settings field - 'theme_options', // Menu slug, used to uniquely identify the page; see add_page() - 'general' // Settings section. Same as the first argument in the add_settings_section() above - ); - } - - /** - * Adds our theme options page to the admin menu. - * - * This function is attached to the admin_menu action hook. - * - * @access public - * - * @return void - */ - public function add_page() { - $theme_page = add_theme_page( - __( 'Theme Options', 'twentytwelve' ), // Name of page - __( 'Theme Options', 'twentytwelve' ), // Label in menu - 'edit_theme_options', // Capability required - 'theme_options', // Menu slug, used to uniquely identify the page - array( $this, 'render_page' ) // Function that renders the options page - ); - } - - /** - * Returns the default options. - * - * @access public - * - * @return array - */ - public function get_default_theme_options() { - $default_theme_options = array( - 'enable_fonts' => false, - ); - - return apply_filters( 'twentytwelve_default_theme_options', $default_theme_options ); - } - - /** - * Returns the options array. - * - * @access public - * - * @return array - */ - public function get_theme_options() { - return get_option( $this->option_key, $this->get_default_theme_options() ); - } - - /** - * Renders the enable fonts checkbox setting field. - * - * @access public - * - * @return void - */ - public function settings_field_enable_fonts() { - $options = $this->options; - ?> - - -