Make WordPress Core


Ignore:
Timestamp:
06/10/2012 12:32:19 AM (14 years ago)
Author:
ryan
Message:
  • Introduce remove_header_image(), reset_header_image(), set_header_image(), and get_header_image_data() for Custom_Image_Header.
  • Handle all set/get of header theme mod through these methods.
  • Use these methods in the customizer.

Props kovshenin, nacin, SergeyBiryukov, koopersmith.
fixes #20871

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/wp-includes/class-wp-customize-control.php

    r21014 r21037  
    1212        public $id;
    1313
     14        // All settings tied to the control.
    1415        public $settings;
    15         public $setting;
     16
     17        // The primary setting for the control (if there is one).
     18        public $setting = 'default';
    1619
    1720        public $priority          = 10;
     
    456459                parent::__construct( $manager, 'header_image', array(
    457460                        'label'    => __( 'Header Image' ),
     461                        'settings' => array(
     462                                'default' => 'header_image',
     463                                'data'    => 'header_image_data',
     464                        ),
    458465                        'section'  => 'header_image',
    459466                        'context'  => 'custom-header',
     
    471478        }
    472479
     480        public function print_header_image( $choice, $header ) {
     481                $header['url']           = set_url_scheme( $header['url'] );
     482                $header['thumbnail_url'] = set_url_scheme( $header['thumbnail_url'] );
     483
     484                $header_image_data = array( 'choice' => $choice );
     485                foreach ( array( 'attachment_id', 'width', 'height', 'url', 'thumbnail_url' ) as $key ) {
     486                        if ( isset( $header[ $key ] ) )
     487                                $header_image_data[ $key ] = $header[ $key ];
     488                }
     489
     490
     491                ?>
     492                <a href="#" class="thumbnail"
     493                        data-customize-image-value="<?php echo esc_url( $header['url'] ); ?>"
     494                        data-customize-header-image-data="<?php echo esc_attr( json_encode( $header_image_data ) ); ?>">
     495                        <img src="<?php echo esc_url( $header['thumbnail_url'] ); ?>" />
     496                </a>
     497                <?php
     498        }
     499
    473500        public function tab_uploaded() {
    474501                $headers = get_uploaded_header_images();
     
    476503                ?><div class="uploaded-target"></div><?php
    477504
    478                 foreach ( $headers as $header )
    479                         $this->print_tab_image( $header['url'], $header['thumbnail_url'] );
     505                foreach ( $headers as $choice => $header )
     506                        $this->print_header_image( $choice, $header );
    480507        }
    481508
     
    484511                $custom_image_header->process_default_headers();
    485512
    486                 foreach ( $custom_image_header->default_headers as $header )
    487                         $this->print_tab_image( $header['url'], $header['thumbnail_url'] );
     513                foreach ( $custom_image_header->default_headers as $choice => $header )
     514                        $this->print_header_image( $choice, $header );
    488515        }
    489516}
Note: See TracChangeset for help on using the changeset viewer.