是否可以在注册后修改USER_LOGIN?

时间:2019-09-05 作者:Matteo Feduzi

我想让用户可以通过个人资料更新他的个人资料。php页面。

但我注意到数据库中标记为user\\u login的字段没有更新。

我四处搜索,他们说WordPress没有提供修改它的可能性,是真的吗?

我当前正在使用此代码更新各种用户字段:

//Sanitize POST Array
$POST = filter_var_array($_POST, FILTER_SANITIZE_STRING);

$nome = $POST[\'nome\'];
$cognome = $POST[\'cognome\'];
$user_login = $nome . \' \' . $cognome;

$user_data = array(
        \'ID\' => $current_user->ID,
        \'user_login\' => $user_login,
        \'display_name\' => $user_login,
        \'first_name\' => $nome,
        \'last_name\' => $cognome,
    );
$user_id = wp_update_user($user_data);
感谢那些帮助我的人。

1 个回复
SO网友:Parham

WordPress不允许更新user_login 对于现有用户。您可以使用$wpdb->update 具体如下:

// Sanitizes the username
$user_login = sanitize_user( trim( $user_login ), true );

// Check if the given username exists
if ( ! empty( $user_login ) && ! username_exists( $user_login ) ) {
    global $wpdb;
    //Update user record
    $wpdb->update( $wpdb->users, array(\'user_login\' => $user_login), array(\'ID\' => $user_id));

    // Delete cached user objects
    wp_cache_delete( $user_id, \'users\' );
    wp_cache_delete( $user_login, \'userlogins\' );
}

相关推荐

Client Profiles

正在寻找创建客户机数据库的最佳方法。插件能最好地实现以下功能吗?我的客户端数据库插件存储有关客户端的个人信息和统计信息,这些信息和统计信息将通过自定义字段和自定义表单收集,管理员创建客户端配置文件后,仪表板选项卡将打开列表区域(类似于用户选项卡)(仅限管理员)“添加新”功能(类似于仪表板的用户区域)。管理员可以将客户端分配给用户,分配给用户的客户端显示为用户元数据。分配给用户的客户端将在用户配置文件中可见,仪表板小部件显示为登录用户分配的客户端,并带有指向客户端配置文件页面的链接。插件是解决此问题的解决方