WC_REST_Payment_Gateways_Controller::validate_setting_multiselect_fieldpublicWC 1.0

Validate multiselect based settings (with support for nested options).

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

Хуков нет.

Возвращает

Массив|WP_Error.

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

$WC_REST_Payment_Gateways_Controller = new WC_REST_Payment_Gateways_Controller();
$WC_REST_Payment_Gateways_Controller->validate_setting_multiselect_field( $values, $setting );
$values(массив|строка) (обязательный)
The submitted values.
$setting(массив) (обязательный)
The field settings.

Код WC_REST_Payment_Gateways_Controller::validate_setting_multiselect_field() WC 10.0.2

public function validate_setting_multiselect_field( $values, $setting ) {
	if ( empty( $values ) ) {
		return array();
	}

	if ( ! is_array( $values ) ) {
		return new WP_Error( 'rest_setting_value_invalid', __( 'An invalid setting value was passed.', 'woocommerce' ), array( 'status' => 400 ) );
	}

	$valid_keys = $this->flatten_options_keys( $setting['options'] );

	$final_values = array();
	foreach ( $values as $value ) {
		if ( in_array( $value, $valid_keys, true ) ) {
			$final_values[] = $value;
		}
	}

	return $final_values;
}