"Fossies" - the Fresh Open Source Software Archive

Member "wordpress/wp-includes/customize/class-wp-customize-header-image-setting.php" (6 Feb 2020, 1650 Bytes) of package /linux/www/wordpress-5.7-RC1.tar.gz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) PHP source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "class-wp-customize-header-image-setting.php" see the Fossies "Dox" file reference documentation.

    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/includes/class-custom-image-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 
   47         if ( is_array( $value ) && isset( $value['choice'] ) ) {
   48             $custom_image_header->set_header_image( $value['choice'] );
   49         } else {
   50             $custom_image_header->set_header_image( $value );
   51         }
   52     }
   53 }