2015-10-24 14:11:24 -04:00
|
|
|
<?php
|
|
|
|
/**
|
2015-10-24 14:21:25 -04:00
|
|
|
* Customize API: WP_Customize_Header_Image_Setting class
|
2015-10-24 14:11:24 -04:00
|
|
|
*
|
|
|
|
* @package WordPress
|
|
|
|
* @subpackage Customize
|
|
|
|
* @since 4.4.0
|
|
|
|
*/
|
|
|
|
|
|
|
|
/**
|
|
|
|
* A setting that is used to filter a value, but will not save the results.
|
|
|
|
*
|
|
|
|
* Results should be properly handled using another setting or callback.
|
|
|
|
*
|
|
|
|
* @since 3.4.0
|
|
|
|
*
|
|
|
|
* @see WP_Customize_Setting
|
|
|
|
*/
|
|
|
|
final class WP_Customize_Header_Image_Setting extends WP_Customize_Setting {
|
2022-05-18 11:24:14 -04:00
|
|
|
|
|
|
|
/**
|
|
|
|
* Unique string identifier for the setting.
|
|
|
|
*
|
|
|
|
* @since 3.4.0
|
|
|
|
* @var string
|
|
|
|
*/
|
2015-10-24 14:11:24 -04:00
|
|
|
public $id = 'header_image_data';
|
|
|
|
|
|
|
|
/**
|
|
|
|
* @since 3.4.0
|
|
|
|
*
|
|
|
|
* @global Custom_Image_Header $custom_image_header
|
|
|
|
*
|
Code Modernization: Fix parameter name mismatches for parent/child classes in `WP_Customize_Setting::update()`.
In each child class: renames the parameter to match the parent's method signature.
Why? PHP 8 introduces the ability to pass named arguments to function/method calls. This means the child and parent method signatures (i.e. parameter names) need to match.
Changes for readability:
- `@since` clearly specifies the original parameter name and its new name as well as why the change happened.
- In methods longer than a single line, the generic parameter is reassigned to the original parameter restoring it for context for use within the method. An inline comment is added to explain why this reassignment is made.
Follow-up to [19995], [21037], [21053], [21354], [38829], [51298].
Props jrf, hellofromTonya, sergeybiryukov, azaozz, desrosj, johnbillion.
See #51553.
Built from https://develop.svn.wordpress.org/trunk@51784
git-svn-id: http://core.svn.wordpress.org/trunk@51391 1a063a9b-81f0-0310-95a4-ce76da25c4cd
2021-09-09 10:48:55 -04:00
|
|
|
* @param mixed $value The value to update.
|
2015-10-24 14:11:24 -04:00
|
|
|
*/
|
|
|
|
public function update( $value ) {
|
|
|
|
global $custom_image_header;
|
|
|
|
|
2016-12-01 19:25:41 -05:00
|
|
|
// If _custom_header_background_just_in_time() fails to initialize $custom_image_header when not is_admin().
|
|
|
|
if ( empty( $custom_image_header ) ) {
|
2020-02-06 01:33:11 -05:00
|
|
|
require_once ABSPATH . 'wp-admin/includes/class-custom-image-header.php';
|
2017-11-30 18:11:00 -05:00
|
|
|
$args = get_theme_support( 'custom-header' );
|
|
|
|
$admin_head_callback = isset( $args[0]['admin-head-callback'] ) ? $args[0]['admin-head-callback'] : null;
|
2016-12-01 19:25:41 -05:00
|
|
|
$admin_preview_callback = isset( $args[0]['admin-preview-callback'] ) ? $args[0]['admin-preview-callback'] : null;
|
2017-11-30 18:11:00 -05:00
|
|
|
$custom_image_header = new Custom_Image_Header( $admin_head_callback, $admin_preview_callback );
|
2016-12-01 19:25:41 -05:00
|
|
|
}
|
|
|
|
|
2023-07-10 19:00:22 -04:00
|
|
|
/*
|
|
|
|
* If the value doesn't exist (removed or random),
|
|
|
|
* use the header_image value.
|
|
|
|
*/
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( ! $value ) {
|
|
|
|
$value = $this->manager->get_setting( 'header_image' )->post_value();
|
|
|
|
}
|
2015-10-24 14:11:24 -04:00
|
|
|
|
2017-11-30 18:11:00 -05:00
|
|
|
if ( is_array( $value ) && isset( $value['choice'] ) ) {
|
2015-10-24 14:11:24 -04:00
|
|
|
$custom_image_header->set_header_image( $value['choice'] );
|
2017-11-30 18:11:00 -05:00
|
|
|
} else {
|
2015-10-24 14:11:24 -04:00
|
|
|
$custom_image_header->set_header_image( $value );
|
2017-11-30 18:11:00 -05:00
|
|
|
}
|
2015-10-24 14:11:24 -04:00
|
|
|
}
|
|
|
|
}
|