/**
 * Remove type for a member.
 *
 * @since 2.3.0
 *
 * @param int    $user_id     ID of the user.
 * @param string $member_type Member Type.
 * @return bool|WP_Error
 */
function bp_remove_member_type($user_id, $member_type)
{
    // Bail if no valid member type was passed.
    if (empty($member_type) || !bp_get_member_type_object($member_type)) {
        return false;
    }
    $deleted = bp_remove_object_terms($user_id, $member_type, bp_get_member_type_tax_name());
    // Bust the cache if the type has been removed.
    if (!is_wp_error($deleted)) {
        wp_cache_delete($user_id, 'bp_member_member_type');
        /**
         * Fires just after a user's member type has been removed.
         *
         * @since 2.3.0
         *
         * @param int    $user_id     ID of the user whose member type has been updated.
         * @param string $member_type Member type.
         */
        do_action('bp_remove_member_type', $user_id, $member_type);
    }
    return $deleted;
}
/**
 * Remove type for a group.
 *
 * @since 2.6.0
 *
 * @param int            $group      ID of the user.
 * @param string         $group_type Group type.
 * @return bool|WP_Error $deleted    True on success. False or WP_Error on failure.
 */
function bp_groups_remove_group_type($group_id, $group_type)
{
    if (empty($group_type) || !bp_groups_get_group_type_object($group_type)) {
        return false;
    }
    $deleted = bp_remove_object_terms($group_id, $group_type, 'bp_group_type');
    // Bust the case, if the type has been removed.
    if (!is_wp_error($deleted)) {
        wp_cache_delete($group_id, 'bp_groups_group_type');
        /**
         * Fires just after a group's group type has been removed.
         *
         * @since 2.6.0
         *
         * @param int    $group      ID of the group whose group type has been removed.
         * @param string $group_type Group type.
         */
        do_action('bp_groups_remove_group_type', $group_id, $group_type);
    }
    return $deleted;
}