WordPress как на ладони
Недорогой хостинг для сайтов на WordPress: wordpress.jino.ru
функция не описана

Automattic\WooCommerce\Blocks\StoreApi\Schemas

AbstractSchema::get_recursive_sanitize_callback() protected WC 1.0

Gets a function that sanitizes recursively.

Ищем WP-разработчика! Фулл-тайм, удаленка, хорошая зарплата, соц. пакет. Подробности.
Компания Boosta.

{} Это метод класса: AbstractSchema{}

Хуков нет.

Возвращает

function. Anonymous validation callback.

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

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->get_recursive_sanitize_callback( $properties );
$properties(массив) (обязательный)
Schema property data.

Код AbstractSchema::get_recursive_sanitize_callback() WC 5.8.0

protected function get_recursive_sanitize_callback( $properties ) {
	/**
	 * Validate a request argument based on details registered to the route.
	 *
	 * @param mixed            $values
	 * @param \WP_REST_Request $request
	 * @param string           $param
	 * @return true|\WP_Error
	 */
	return function ( $values, $request, $param ) use ( $properties ) {
		foreach ( $properties as $property_key => $property_value ) {
			$current_value = isset( $values[ $property_key ] ) ? $values[ $property_key ] : null;

			if ( isset( $property_value['arg_options']['sanitize_callback'] ) ) {
				$callback      = $property_value['arg_options']['sanitize_callback'];
				$current_value = is_callable( $callback ) ? $callback( $current_value, $request, $param ) : $current_value;
			} else {
				$current_value = rest_sanitize_value_from_schema( $current_value, $property_value, $param . ' > ' . $property_key );
			}

			if ( is_wp_error( $current_value ) ) {
				return $current_value;
			}

			if ( isset( $property_value['properties'] ) ) {
				$sanitize_callback = $this->get_recursive_sanitize_callback( $property_value['properties'] );
				return $sanitize_callback( $current_value, $request, $param . ' > ' . $property_key );
			}
		}

		return true;
	};
}