WP_Customize_Manager::update_stashed_theme_mod_settings PHP Method

update_stashed_theme_mod_settings() protected method

Update stashed theme mod settings.
Since: 4.7.0
protected update_stashed_theme_mod_settings ( array $inactive_theme_mod_settings ) : array | false
$inactive_theme_mod_settings array Mapping of stylesheet to arrays of theme mod settings.
return array | false Returns array of updated stashed theme mods or false if the update failed or there were no changes.
    protected function update_stashed_theme_mod_settings($inactive_theme_mod_settings)
    {
        $stashed_theme_mod_settings = get_option('customize_stashed_theme_mods');
        if (empty($stashed_theme_mod_settings)) {
            $stashed_theme_mod_settings = array();
        }
        // Delete any stashed theme mods for the active theme since since they would have been loaded and saved upon activation.
        unset($stashed_theme_mod_settings[$this->get_stylesheet()]);
        // Merge inactive theme mods with the stashed theme mod settings.
        foreach ($inactive_theme_mod_settings as $stylesheet => $theme_mod_settings) {
            if (!isset($stashed_theme_mod_settings[$stylesheet])) {
                $stashed_theme_mod_settings[$stylesheet] = array();
            }
            $stashed_theme_mod_settings[$stylesheet] = array_merge($stashed_theme_mod_settings[$stylesheet], $theme_mod_settings);
        }
        $autoload = false;
        $result = update_option('customize_stashed_theme_mods', $stashed_theme_mod_settings, $autoload);
        if (!$result) {
            return false;
        }
        return $stashed_theme_mod_settings;
    }
WP_Customize_Manager