product_custom_fields['_subscription_limit'][0] ) ) { return 'no'; } elseif ( 'yes' == $product->product_custom_fields['_subscription_limit'][0] ) { // backward compatibility return 'any'; } else { return $product->product_custom_fields['_subscription_limit'][0]; } } /** * Returns true if product is limited to one active subscription and user currently has this product on-hold. * * @param int|WC_Product $product A WC_Product object or the ID of a product * @return boolean */ function wcs_is_product_limited_for_user( $product, $user_id = 0 ) { if ( ! is_object( $product ) ) { $product = wc_get_product( $product ); } return ( ( 'active' == wcs_get_product_limitation( $product ) && wcs_user_has_subscription( $user_id, $product->id, 'on-hold' ) ) || ( 'no' !== wcs_get_product_limitation( $product ) && wcs_user_has_subscription( $user_id, $product->id, wcs_get_product_limitation( $product ) ) ) ) ? true : false; }