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;
}