home *** CD-ROM | disk | FTP | other *** search
/ HTML Examples / WP.iso / wordpress / wp-includes / customize / class-wp-customize-header-image-setting.php < prev    next >
Encoding:
PHP Script  |  2016-12-01  |  1.6 KB  |  52 lines

  1. <?php
  2. /**
  3.  * Customize API: WP_Customize_Header_Image_Setting class
  4.  *
  5.  * @package WordPress
  6.  * @subpackage Customize
  7.  * @since 4.4.0
  8.  */
  9.  
  10. /**
  11.  * A setting that is used to filter a value, but will not save the results.
  12.  *
  13.  * Results should be properly handled using another setting or callback.
  14.  *
  15.  * @since 3.4.0
  16.  *
  17.  * @see WP_Customize_Setting
  18.  */
  19. final class WP_Customize_Header_Image_Setting extends WP_Customize_Setting {
  20.     public $id = 'header_image_data';
  21.  
  22.     /**
  23.      * @since 3.4.0
  24.      *
  25.      * @global Custom_Image_Header $custom_image_header
  26.      *
  27.      * @param $value
  28.      */
  29.     public function update( $value ) {
  30.         global $custom_image_header;
  31.  
  32.         // If _custom_header_background_just_in_time() fails to initialize $custom_image_header when not is_admin().
  33.         if ( empty( $custom_image_header ) ) {
  34.             require_once( ABSPATH . 'wp-admin/custom-header.php' );
  35.             $args = get_theme_support( 'custom-header' );
  36.             $admin_head_callback = isset( $args[0]['admin-head-callback'] ) ? $args[0]['admin-head-callback'] : null;
  37.             $admin_preview_callback = isset( $args[0]['admin-preview-callback'] ) ? $args[0]['admin-preview-callback'] : null;
  38.             $custom_image_header = new Custom_Image_Header( $admin_head_callback, $admin_preview_callback );
  39.         }
  40.  
  41.         // If the value doesn't exist (removed or random),
  42.         // use the header_image value.
  43.         if ( ! $value )
  44.             $value = $this->manager->get_setting('header_image')->post_value();
  45.  
  46.         if ( is_array( $value ) && isset( $value['choice'] ) )
  47.             $custom_image_header->set_header_image( $value['choice'] );
  48.         else
  49.             $custom_image_header->set_header_image( $value );
  50.     }
  51. }
  52.