/wp-includes/customize/class-wp-customize-header-image-setting.php

  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. // If the value doesn't exist (removed or random),  
  41. // use the header_image value. 
  42. if ( ! $value ) 
  43. $value = $this->manager->get_setting('header_image')->post_value(); 
  44.  
  45. if ( is_array( $value ) && isset( $value['choice'] ) ) 
  46. $custom_image_header->set_header_image( $value['choice'] ); 
  47. else 
  48. $custom_image_header->set_header_image( $value ); 
.