我想让用户可以通过个人资料更新他的个人资料。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);
感谢那些帮助我的人。
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\' );
}