WC_REST_General_Settings_V4_Controller::get_general_settings_data
Get general settings data by transforming WC_Settings_General data into REST API format.
Метод класса: WC_REST_General_Settings_V4_Controller{}
Хуков нет.
Возвращает
Массив.
Использование
// private - только в коде основоного (родительского) класса $result = $this->get_general_settings_data();
Код WC_REST_General_Settings_V4_Controller::get_general_settings_data() WC REST General Settings V4 Controller::get general settings data WC 10.3.4
private function get_general_settings_data() {
$settings_general = $this->get_settings_general_instance();
$raw_settings = $settings_general->get_settings_for_section( '' );
// Transform raw settings into grouped format.
$groups = array();
$current_group = null;
$current_group_key = null;
$values = array();
foreach ( $raw_settings as $setting ) {
$setting_type = $setting['type'] ?? '';
// Handle section titles.
if ( 'title' === $setting_type ) {
$current_group_key = $setting['id'] ?? '';
$current_group = array(
'title' => $setting['title'] ?? '',
'description' => $setting['desc'] ?? '',
'order' => $this->get_group_order( $setting ),
'fields' => array(),
);
continue;
}
// Handle section ends.
if ( 'sectionend' === $setting_type ) {
if ( $current_group && $current_group_key ) {
$groups[ $current_group_key ] = $current_group;
}
$current_group = null;
$current_group_key = null;
continue;
}
// Skip non-field types.
if ( in_array( $setting_type, array( 'title', 'sectionend' ), true ) ) {
continue;
}
// Convert setting to field format.
if ( $current_group && isset( $setting['id'] ) ) {
$field = $this->transform_setting_to_field( $setting );
if ( $field ) {
$current_group['fields'][] = $field;
// Add field value to the flat values array.
$values[ $field['id'] ] = get_option( $field['id'], $setting['default'] ?? '' );
}
}
}
return array(
'id' => 'general',
'title' => __( 'General', 'woocommerce' ),
'description' => __( 'Set your store\'s address, visibility, currency, language, and timezone.', 'woocommerce' ),
'values' => $values,
'groups' => $groups,
);
}