Automattic\WooCommerce\Admin\Features\PaymentGatewaySuggestions

EvaluateSuggestion::evaluate_specs()public staticWC 1.0

Evaluates the specs and returns the visible suggestions.

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

Хуков нет.

Возвращает

Массив. The visible suggestions and errors.

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

$result = EvaluateSuggestion::evaluate_specs( $specs, $logger_args );
$specs(массив) (обязательный)
payment suggestion spec array.
$logger_args(массив)
Arguments for the rule evaluator logger.
По умолчанию: array()

Код EvaluateSuggestion::evaluate_specs() WC 9.7.1

public static function evaluate_specs( $specs, $logger_args = array() ) {
	$specs_key = self::get_memo_key( $specs );

	if ( isset( self::$memo[ $specs_key ] ) ) {
		return self::$memo[ $specs_key ];
	}

	$suggestions = array();
	$errors      = array();

	foreach ( $specs as $spec ) {
		try {
			$suggestion = self::evaluate( $spec, $logger_args );
			if ( ! property_exists( $suggestion, 'is_visible' ) || $suggestion->is_visible ) {
				$suggestions[] = $suggestion;
			}
		} catch ( \Throwable $e ) {
			$errors[] = $e;
		}
	}

	$result = array(
		'suggestions' => $suggestions,
		'errors'      => $errors,
	);

	// Memoize results, with a fail safe to prevent unbounded memory growth.
	// This limit is unlikely to be reached under normal circumstances.
	if ( count( self::$memo ) > 50 ) {
		self::reset_memo();
	}
	self::$memo[ $specs_key ] = $result;

	return $result;
}