equal
deleted
inserted
replaced
|
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 } |