function memberful_wp_regulate_access_to_bbpress() { if (!is_bbpress()) { return; } if (!memberful_wp_bbpress_protect_forums()) { return; } if (current_user_can('moderate')) { return; } if (memberful_wp_bbpress_restricted_to_registered_users() && is_user_logged_in()) { return; } $has_required_plan = memberful_wp_user_has_subscription_to_plans(get_current_user_id(), memberful_wp_bbpress_required_subscription_plans()); $has_required_download = memberful_wp_user_has_downloads(get_current_user_id(), memberful_wp_bbpress_required_downloads()); if ($has_required_plan || $has_required_download) { return; } wp_safe_redirect(memberful_wp_bbpress_unauthorized_user_landing_page()); exit; }
/** * Check that the current member has a subscription to at least least one of the required plans * * @param string|array $slug Slug of the plan the user should have. Can pass an array of slugs * @param int $user_id ID of the user who should have the subscription, defaults to current user * @return bool */ function is_subscribed_to_memberful_plan($slug, $user_id = NULL) { list($required_plans, $user_id) = memberful_wp_extract_slug_ids_and_user(func_get_args()); return memberful_wp_user_has_subscription_to_plans($user_id, $required_plans); }