/**
 * Check if product purchasing is retricted
 * Example: Add a restricted product notice
 * Display a top notice to non-members for members-only products
 */
function sv_wc_memberships_members_only_product_notice()
{
    // bail if Memberships isn't active
    if (!function_exists('wc_memberships')) {
        return;
    }
    $user_id = get_current_user_id();
    // Bail if the user is already a silver or gold member
    if (wc_memberships_is_user_active_member($user_id, 'silver') || wc_memberships_is_user_active_member($user_id, 'gold')) {
        return;
    }
    // Add our top notice if purchasing is restricted
    if (wc_memberships_is_product_purchasing_restricted()) {
        wc_print_notice('This is a preview! Only silver or gold members can purchase this product.', 'notice');
    }
}
/**
 * Modify membership product pricing display for non-members:
 * hides price display if purchasing is restricted to members;
 * active members will see the price instead of a message
 *
 * @param string $price the WC price HTML
 * @return string $price the updated price HTML
 */
function sv_wc_memberships_change_member_product_price_display($price)
{
    // bail if Memberships isn't active
    if (!function_exists('wc_memberships')) {
        return;
    }
    // get any active user memberships (requires Memberships 1.4+)
    $user_id = get_current_user_id();
    $args = array('status' => array('active', 'complimentary', 'pending'));
    $active_memberships = wc_memberships_get_user_memberships($user_id, $args);
    // only proceed if the user has no active memberships
    if (empty($active_memberships)) {
        // change price display if purchasing is restricted
        if (wc_memberships_is_product_purchasing_restricted()) {
            $price = 'Price for members only';
        }
    }
    return $price;
}