Exemple #1
0
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;
}
Exemple #2
0
/**
 * 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);
}