WC_Helper::is_subscription_available()public staticWC 1.0

Check if a subscription is available to use. That is, is not already active and hasn't expired, and there are no other subscriptions for this product already active on this site.

Method of the class: WC_Helper{}

No Hooks.

Return

true|false. True if multiple licenses exist, false otherwise.

Usage

$result = WC_Helper::is_subscription_available( $subscription, $subscriptions );
$subscription(array) (required)
The subscription we're checking.
$subscriptions(array) (required)
The list of all the user's subscriptions.

WC_Helper::is_subscription_available() code WC 9.6.0

public static function is_subscription_available( $subscription, $subscriptions ) {
	if ( true === $subscription['active'] ) {
		return false;
	}

	if ( true === $subscription['expired'] ) {
		return false;
	}

	$product_subscriptions = wp_list_filter(
		$subscriptions,
		array(
			'product_id' => $subscription['product_id'],
			'active'     => true,
		)
	);

	// If there are no subscriptions for this product already active on this site, then it's available.
	if ( empty( $product_subscriptions ) ) {
		return true;
	}

	return false;
}