Automattic\WooCommerce\Admin\Features\PaymentGatewaySuggestions

EvaluateSuggestion::evaluate()public staticWC 1.0

Evaluates the spec and returns the suggestion.

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

Хуков нет.

Возвращает

Объект. The evaluated suggestion.

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

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

Код EvaluateSuggestion::evaluate() WC 9.2.3

public static function evaluate( $spec, $logger_args = array() ) {
	$rule_evaluator = new RuleEvaluator();
	$suggestion     = is_array( $spec ) ? (object) $spec : clone $spec;

	if ( isset( $suggestion->is_visible ) ) {
		// Determine the suggestion's logger slug.
		$logger_slug = ! empty( $suggestion->id ) ? $suggestion->id : '';
		// If the suggestion has no ID, use the title to generate a slug.
		if ( empty( $logger_slug ) ) {
			$logger_slug = ! empty( $suggestion->title ) ? sanitize_title_with_dashes( trim( $suggestion->title ) ) : 'anonymous-suggestion';
		}

		// Evaluate the visibility of the suggestion.
		$is_visible = $rule_evaluator->evaluate(
			$suggestion->is_visible,
			null,
			array(
				'slug'   => $logger_slug,
				'source' => $logger_args['source'] ?? 'wc-payment-gateway-suggestions',
			)
		);

		$suggestion->is_visible = $is_visible;
	}

	return $suggestion;
}