Automattic\WooCommerce\Admin\Features\Settings

Transformer::process_settingprivateWC 1.0

Process individual setting.

Метод класса: Transformer{}

Хуков нет.

Возвращает

null. Ничего (null).

Использование

// private - только в коде основоного (родительского) класса
$result = $this->process_setting( ?array $setting, $transformed_settings ): void;
?array $setting(обязательный)
.
$transformed_settings(массив) (обязательный)
Transformed settings array.

Код Transformer::process_setting() WC 10.8.1

private function process_setting( ?array $setting, array &$transformed_settings ): void {
	if ( ! isset( $setting ) ) {
		return;
	}

	$type = $setting['type'] ?? '';

	if ( $this->current_checkbox_group && 'checkbox' !== $type ) {
		// It's expected that a checkbox group will always be closed before a non-checkbox setting.
		// If not, it's likely a checkbox group was not closed properly so we flush the current checkbox group and add the setting as-is.
		$this->flush_current_checkbox_group();
	}

	switch ( $type ) {
		case 'title':
			$this->handle_group_start( $setting, $transformed_settings );
			break;

		case 'sectionend':
			$this->handle_group_end( $setting, $transformed_settings );
			break;

		case 'checkbox':
			$this->handle_checkbox_setting( $setting, $transformed_settings );
			break;

		case 'info':
			if ( ! empty( $setting['text'] ) ) {
				$setting['text'] = wp_kses_post( wpautop( wptexturize( $setting['text'] ) ) );
			}
			if ( ! empty( $setting['row_class'] ) && substr( $setting['row_class'], 0, 16 ) !== 'wc-settings-row-' ) {
				$setting['row_class'] = 'wc-settings-row-' . $setting['row_class'];
			}

			$this->add_setting( $setting, $transformed_settings );
			break;

		default:
			$this->add_setting( $setting, $transformed_settings );
			break;
	}
}