Saves element settings.
Description
See also
Parameters
- $element_settings
-
(array) (Required) Array of
$element_setting_id => $element_setting_data
pairs. - $mappings
-
(array) (Required) Array of mappings to pass-through and modify.
- $errors
-
(WP_Error) (Required) Error object to append errors to.
Return
(array) Modified mappings.
Source
File: src/db-objects/forms/form-edit-page-handler.php
private function save_element_settings( $element_settings, $mappings, $errors ) { $element_setting_manager = $this->form_manager->get_child_manager( 'containers' )->get_child_manager( 'elements' )->get_child_manager( 'element_settings' ); foreach ( $element_settings as $id => $data ) { if ( empty( $data['element_id'] ) || ! isset( $mappings['elements'][ $data['element_id'] ] ) ) { continue; } $data['element_id'] = $mappings['elements'][ $data['element_id'] ]; if ( $this->is_temp_id( $id ) ) { $element_setting = $element_setting_manager->create(); } else { $element_setting = $element_setting_manager->get( $id ); if ( ! $element_setting ) { $element_setting = $element_setting_manager->create(); } } foreach ( $data as $key => $value ) { $element_setting->$key = $value; } $status = $element_setting->sync_upstream(); if ( is_wp_error( $status ) ) { $errors->add( $status->get_error_code(), $status->get_error_message(), array( 'id' => $id, 'data' => $data, ) ); } else { $mappings['element_settings'][ $id ] = $element_setting->id; } } return $mappings; }
Changelog
Version | Description |
---|---|
1.0.0 | Introduced. |