WP_Customize_Setting::aggregate_multidimensional() WordPress Method
The WP_Customize_Setting::aggregate_multidimensional() function is used to settings that have been added with add_setting(). This function makes sure that each setting has a unique ID, and also ensures that the setting's value is updated in the Customizer when changes are made.
WP_Customize_Setting::aggregate_multidimensional() #
Set up the setting for aggregated multidimensional values.
Description
When a multidimensional setting gets aggregated, all of its preview and update calls get combined into one call, greatly improving performance.
Source
File: wp-includes/class-wp-customize-setting.php
protected function aggregate_multidimensional() { $id_base = $this->id_data['base']; if ( ! isset( self::$aggregated_multidimensionals[ $this->type ] ) ) { self::$aggregated_multidimensionals[ $this->type ] = array(); } if ( ! isset( self::$aggregated_multidimensionals[ $this->type ][ $id_base ] ) ) { self::$aggregated_multidimensionals[ $this->type ][ $id_base ] = array( 'previewed_instances' => array(), // Calling preview() will add the $setting to the array. 'preview_applied_instances' => array(), // Flags for which settings have had their values applied. 'root_value' => $this->get_root_value( array() ), // Root value for initial state, manipulated by preview and update calls. ); } if ( ! empty( $this->id_data['keys'] ) ) { // Note the preview-applied flag is cleared at priority 9 to ensure it is cleared before a deferred-preview runs. add_action( "customize_post_value_set_{$this->id}", array( $this, '_clear_aggregated_multidimensional_preview_applied_flag' ), 9 ); $this->is_multidimensional_aggregated = true; } }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
4.4.0 | Introduced. |