/** * Gets all the active and inactive subscriptions for a user, as specified by $user_id * * @param int $user_id (optional) The id of the user whose subscriptions you want. Defaults to the currently logged in user. * @param array $order_ids (optional) An array of post_ids of WC_Order objects as a way to get only subscriptions for certain orders. Defaults to null, which will return subscriptions for all orders. * @since 1.0 */ public static function get_users_subscriptions($user_id = 0, $order_ids = array()) { global $wpdb; $subscriptions = array(); if (empty($order_ids)) { $order_ids = WC_Subscriptions_Order::get_users_subscription_orders($user_id); } foreach ($order_ids as $order_id) { $items = WC_Subscriptions_Order::get_recurring_items($order_id); foreach ($items as $item) { $subscription_key = self::get_subscription_key($order_id, $item['product_id']); $subscriptions[$subscription_key] = self::get_subscription($subscription_key); // DRY over efficiency } } return apply_filters('woocommerce_users_subscriptions', $subscriptions, $user_id); }