| 589 | |
| 590 | function twentyeleven_customize_register($wp_customize) { |
| 591 | if ( !isset( $wp_customize ) ) |
| 592 | return; |
| 593 | |
| 594 | $wp_customize->get_setting('blogname')->transport='postMessage'; |
| 595 | $wp_customize->get_setting('blogdescription')->transport='postMessage'; |
| 596 | $wp_customize->get_setting('header_textcolor')->transport='postMessage'; |
| 597 | |
| 598 | $wp_customize->add_section( 'color_scheme', array( |
| 599 | 'title' => __( 'Color Scheme', 'twentyeleven' ), |
| 600 | 'priority' => 40, |
| 601 | ) ); |
| 602 | |
| 603 | $options = twentyeleven_get_theme_options(); |
| 604 | |
| 605 | $wp_customize->add_setting( 'twentyeleven_theme_options[color_scheme]', array( |
| 606 | 'default' => $options['color_scheme'], |
| 607 | 'type' => 'option', |
| 608 | 'capability' => 'edit_theme_options', |
| 609 | ) ); |
| 610 | |
| 611 | $schemes = twentyeleven_color_schemes(); |
| 612 | |
| 613 | foreach ($schemes as $name=>$scheme) { |
| 614 | $choices[$name] = $scheme['label']; |
| 615 | } |
| 616 | |
| 617 | $wp_customize->add_control( 'color_scheme', array( |
| 618 | 'label' => __( 'Color Scheme', 'twentyeleven' ), |
| 619 | 'section' => 'color_scheme', |
| 620 | 'settings' => 'twentyeleven_theme_options[color_scheme]', |
| 621 | 'type' => 'radio', |
| 622 | 'choices' => $choices, |
| 623 | ) ); |
| 624 | |
| 625 | $wp_customize->add_setting( 'twentyeleven_theme_options[link_color]', array( |
| 626 | 'default' => twentyeleven_get_default_link_color($options['color_scheme']), |
| 627 | 'type' => 'option', |
| 628 | 'sanitize_callback' => 'twentyeleven_sanitize_hexcolor', |
| 629 | 'capability' => 'edit_theme_options', |
| 630 | ) ); |
| 631 | |
| 632 | $wp_customize->add_control( new WP_Customize_Color_Control( $wp_customize, 'link_color', array( |
| 633 | 'label' => __( 'Link Color', 'twentyeleven' ), |
| 634 | 'section' => 'color_scheme', |
| 635 | 'settings' => 'twentyeleven_theme_options[link_color]', |
| 636 | ) ) ); |
| 637 | |
| 638 | if ( $wp_customize->is_preview() && ! is_admin() ) |
| 639 | add_action( 'wp_footer', 'twentyeleven_customize_preview', 21); |
| 640 | } |
| 641 | add_action( 'customize_register', 'twentyeleven_customize_register' ); |
| 642 | |
| 643 | |
| 644 | function twentyeleven_sanitize_hexcolor($color) { |
| 645 | return '#'.sanitize_hexcolor($color); |
| 646 | } |
| 647 | |
| 648 | |
| 649 | function twentyeleven_customize_preview() { |
| 650 | ?> |
| 651 | <script type="text/javascript"> |
| 652 | wp.customize('blogname',function( value ) { |
| 653 | value.bind(function(to) { |
| 654 | jQuery('#site-title a').html(to); |
| 655 | }); |
| 656 | }); |
| 657 | wp.customize('blogdescription',function( value ) { |
| 658 | value.bind(function(to) { |
| 659 | jQuery('#site-description').html(to); |
| 660 | }); |
| 661 | }); |
| 662 | wp.customize( 'header_textcolor', function( value ) { |
| 663 | value.bind( function( to ) { |
| 664 | jQuery('#site-title a, #site-description').css('color', to ? '#' + to : '' ); |
| 665 | }); |
| 666 | }); |
| 667 | </script> |
| 668 | <?php |
| 669 | } |