delete_usermeta example

global $wpdb;
    if ( !is_numeric( $user_id ) )
        return false;
    $meta_key = preg_replace('|[^a-z0-9_]|i', '', $meta_key);

    /** @todo Might need fix because usermeta data is assumed to be already escaped */
    if ( is_string($meta_value) )
        $meta_value = stripslashes($meta_value);
    $meta_value = maybe_serialize($meta_value);

    if (empty($meta_value)) {
        return delete_usermeta($user_id$meta_key);
    }

    $cur = $wpdb->get_row( $wpdb->prepare("SELECT * FROM $wpdb->usermeta WHERE user_id = %d AND meta_key = %s", $user_id$meta_key) );

    if ( $cur )
        do_action( 'update_usermeta', $cur->umeta_id, $user_id$meta_key$meta_value );

    if ( !$cur )
        $wpdb->insert($wpdb->usermeta, compact('user_id', 'meta_key', 'meta_value') );
    elseif ( $cur->meta_value != $meta_value )
        $wpdb->update($wpdb->usermeta, compact('meta_value')compact('user_id', 'meta_key') );
    
Home | Imprint | This part of the site doesn't use cookies.