WC_Helper::is_subscription_availablepublic 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.

Returns

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 10.3.6

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;
}