Automattic\WooCommerce\Internal\Admin\Suggestions

PaymentExtensionSuggestionIncentives::get_incentive_instance()publicWC 1.0

Get the incentive provider instance for a specific payment extension suggestion.

Method of the class: PaymentExtensionSuggestionIncentives{}

No Hooks.

Return

?Incentive. The incentives provider instance for the suggestion. Returns null if no provider is available for the suggestion.

Usage

$PaymentExtensionSuggestionIncentives = new PaymentExtensionSuggestionIncentives();
$PaymentExtensionSuggestionIncentives->get_incentive_instance( $suggestion_id ): ?Incentive;
$suggestion_id(string) (required)
The suggestion ID.

PaymentExtensionSuggestionIncentives::get_incentive_instance() code WC 9.6.0

public function get_incentive_instance( string $suggestion_id ): ?Incentive {
	if ( isset( $this->instances[ $suggestion_id ] ) ) {
		return $this->instances[ $suggestion_id ];
	}

	// If the suggestion ID is not mapped to an incentives provider class, return null.
	if ( ! isset( $this->suggestion_incentives_class_map[ $suggestion_id ] ) ) {
		$this->instances[ $suggestion_id ] = null;

		return null;
	}

	// Create an instance of the incentives provider class.
	$provider_class                    = $this->suggestion_incentives_class_map[ $suggestion_id ];
	$this->instances[ $suggestion_id ] = new $provider_class( $suggestion_id );

	return $this->instances[ $suggestion_id ];
}