delete_usermeta

The timeline below displays how wordpress function delete_usermeta has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.5

/**
 * Remove user meta data.
 *
 * @since 2.0.0
 * @deprecated 3.0.0 Use delete_user_meta()
 * @see delete_user_meta()
 *
 * @global wpdb $wpdb WordPress database abstraction object.
 *
 * @param int $user_id User ID.
 * @param string $meta_key Metadata key.
 * @param mixed $meta_value Optional. Metadata value. Default empty.
 * @return bool True deletion completed and false if user_id is not a number.
 */
function delete_usermeta($user_id, $meta_key, $meta_value = '')
{
    _deprecated_function(__FUNCTION__, '3.0.0', 'delete_user_meta()');
    global $wpdb;
    if (!is_numeric($user_id)) {
        return false;
    }
    $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
    if (is_array($meta_value) || is_object($meta_value)) {
        $meta_value = serialize($meta_value);
    }
    $meta_value = trim($meta_value);
    $cur = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key));
    if ($cur && $cur->umeta_id) {
        do_action('delete_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value);
    }
    if (!empty($meta_value)) {
        $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s AND meta_value = %s", $user_id, $meta_key, $meta_value));
    } else {
        $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key));
    }
    clean_user_cache($user_id);
    wp_cache_delete($user_id, 'user_meta');
    if ($cur && $cur->umeta_id) {
        do_action('deleted_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value);
    }
    return true;
}

WordPress Version: 5.5

/**
 * Remove user meta data.
 *
 * @since 2.0.0
 * @deprecated 3.0.0 Use delete_user_meta()
 * @see delete_user_meta()
 *
 * @param int $user_id User ID.
 * @param string $meta_key Metadata key.
 * @param mixed $meta_value Optional. Metadata value. Default empty.
 * @return bool True deletion completed and false if user_id is not a number.
 */
function delete_usermeta($user_id, $meta_key, $meta_value = '')
{
    _deprecated_function(__FUNCTION__, '3.0.0', 'delete_user_meta()');
    global $wpdb;
    if (!is_numeric($user_id)) {
        return false;
    }
    $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
    if (is_array($meta_value) || is_object($meta_value)) {
        $meta_value = serialize($meta_value);
    }
    $meta_value = trim($meta_value);
    $cur = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key));
    if ($cur && $cur->umeta_id) {
        do_action('delete_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value);
    }
    if (!empty($meta_value)) {
        $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s AND meta_value = %s", $user_id, $meta_key, $meta_value));
    } else {
        $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key));
    }
    clean_user_cache($user_id);
    wp_cache_delete($user_id, 'user_meta');
    if ($cur && $cur->umeta_id) {
        do_action('deleted_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value);
    }
    return true;
}

WordPress Version: 4.6

/**
 * Remove user meta data.
 *
 * @since 2.0.0
 * @deprecated 3.0.0 Use delete_user_meta()
 * @see delete_user_meta()
 *
 * @param int $user_id User ID.
 * @param string $meta_key Metadata key.
 * @param mixed $meta_value Metadata value.
 * @return bool True deletion completed and false if user_id is not a number.
 */
function delete_usermeta($user_id, $meta_key, $meta_value = '')
{
    _deprecated_function(__FUNCTION__, '3.0.0', 'delete_user_meta()');
    global $wpdb;
    if (!is_numeric($user_id)) {
        return false;
    }
    $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
    if (is_array($meta_value) || is_object($meta_value)) {
        $meta_value = serialize($meta_value);
    }
    $meta_value = trim($meta_value);
    $cur = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key));
    if ($cur && $cur->umeta_id) {
        do_action('delete_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value);
    }
    if (!empty($meta_value)) {
        $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s AND meta_value = %s", $user_id, $meta_key, $meta_value));
    } else {
        $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key));
    }
    clean_user_cache($user_id);
    wp_cache_delete($user_id, 'user_meta');
    if ($cur && $cur->umeta_id) {
        do_action('deleted_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value);
    }
    return true;
}

WordPress Version: 4.4

/**
 * Remove user meta data.
 *
 * @since 2.0.0
 * @deprecated 3.0.0 Use delete_user_meta()
 * @see delete_user_meta()
 *
 * @param int $user_id User ID.
 * @param string $meta_key Metadata key.
 * @param mixed $meta_value Metadata value.
 * @return bool True deletion completed and false if user_id is not a number.
 */
function delete_usermeta($user_id, $meta_key, $meta_value = '')
{
    _deprecated_function(__FUNCTION__, '3.0', 'delete_user_meta()');
    global $wpdb;
    if (!is_numeric($user_id)) {
        return false;
    }
    $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
    if (is_array($meta_value) || is_object($meta_value)) {
        $meta_value = serialize($meta_value);
    }
    $meta_value = trim($meta_value);
    $cur = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key));
    if ($cur && $cur->umeta_id) {
        do_action('delete_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value);
    }
    if (!empty($meta_value)) {
        $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s AND meta_value = %s", $user_id, $meta_key, $meta_value));
    } else {
        $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key));
    }
    clean_user_cache($user_id);
    wp_cache_delete($user_id, 'user_meta');
    if ($cur && $cur->umeta_id) {
        do_action('deleted_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value);
    }
    return true;
}

WordPress Version: 3.7

/**
 * Remove user meta data.
 *
 * @since 2.0.0
 * @deprecated 3.0.0
 * @deprecated Use delete_user_meta()
 * @see delete_user_meta()
 *
 * @param int $user_id User ID.
 * @param string $meta_key Metadata key.
 * @param mixed $meta_value Metadata value.
 * @return bool True deletion completed and false if user_id is not a number.
 */
function delete_usermeta($user_id, $meta_key, $meta_value = '')
{
    _deprecated_function(__FUNCTION__, '3.0', 'delete_user_meta()');
    global $wpdb;
    if (!is_numeric($user_id)) {
        return false;
    }
    $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);
    if (is_array($meta_value) || is_object($meta_value)) {
        $meta_value = serialize($meta_value);
    }
    $meta_value = trim($meta_value);
    $cur = $wpdb->get_row($wpdb->prepare("SELECT * FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key));
    if ($cur && $cur->umeta_id) {
        do_action('delete_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value);
    }
    if (!empty($meta_value)) {
        $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s AND meta_value = %s", $user_id, $meta_key, $meta_value));
    } else {
        $wpdb->query($wpdb->prepare("DELETE FROM {$wpdb->usermeta} WHERE user_id = %d AND meta_key = %s", $user_id, $meta_key));
    }
    clean_user_cache($user_id);
    wp_cache_delete($user_id, 'user_meta');
    if ($cur && $cur->umeta_id) {
        do_action('deleted_usermeta', $cur->umeta_id, $user_id, $meta_key, $meta_value);
    }
    return true;
}