Skip to content

Instantly share code, notes, and snippets.

@shawnsandy
Created July 15, 2012 14:25
Show Gist options
  • Save shawnsandy/3117168 to your computer and use it in GitHub Desktop.
Save shawnsandy/3117168 to your computer and use it in GitHub Desktop.
Implements Twenty Eleven theme options into Theme Customizer *
<?php
/**
*
* @param $wp_customize Theme Customizer object
* @return void
*
* @since Twenty Eleven 1.3
*/
function ( $wp_customize ) {
$wp_customize->get_setting( 'blogname' )->transport = 'postMessage';
$wp_customize->get_setting( 'blogdescription' )->transport = 'postMessage';
$options = twentyeleven_get_theme_options();
$defaults = twentyeleven_get_default_theme_options();
$wp_customize->add_setting( 'twentyeleven_theme_options[color_scheme]', array(
'default' => $defaults['color_scheme'],
'type' => 'option',
'capability' => 'edit_theme_options',
) );
$schemes = twentyeleven_color_schemes();
$choices = array();
foreach ( $schemes as $scheme ) {
$choices[ $scheme['value'] ] = $scheme['label'];
}
$wp_customize->add_control( 'twentyeleven_color_scheme', array(
'label' => __( 'Color Scheme', 'twentyeleven' ),
'section' => 'colors',
'settings' => 'twentyeleven_theme_options[color_scheme]',
'type' => 'radio',
'choices' => $choices,
'priority' => 5,
) );
// Link Color (added to Color Scheme section in Theme Customizer)
$wp_customize->add_setting( 'twentyeleven_theme_options[link_color]', array(
'default' => twentyeleven_get_default_link_color( $options['color_scheme'] ),
'type' => 'option',
'sanitize_callback' => 'sanitize_hex_color',
'capability' => 'edit_theme_options',
) );
$wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'link_color', array(
'label' => __( 'Link Color', 'twentyeleven' ),
'section' => 'colors',
'settings' => 'twentyeleven_theme_options[link_color]',
) ) );
// Default Layout
$wp_customize->add_section( 'twentyeleven_layout', array(
'title' => __( 'Layout', 'twentyeleven' ),
'priority' => 50,
) );
$wp_customize->add_setting( 'twentyeleven_theme_options[theme_layout]', array(
'type' => 'option',
'default' => $defaults['theme_layout'],
'sanitize_callback' => 'sanitize_key',
) );
$layouts = twentyeleven_layouts();
$choices = array();
foreach ( $layouts as $layout ) {
$choices[$layout['value']] = $layout['label'];
}
$wp_customize->add_control( 'twentyeleven_theme_options[theme_layout]', array(
'section' => 'twentyeleven_layout',
'type' => 'radio',
'choices' => $choices,
) );
}
add_action( 'customize_register', 'twentyeleven_customize_register' );
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment