프로그래밍 방식으로 사용자 이름을 변경하는 방법 (user_login)? 사용자 이름이 변경되지

제목과 같이 프로그래밍 방식으로 사용자의 로그인을 변경하는 방법은 무엇입니까?

wp_insert_user기능 을 사용하고 싶었지만 현재 사용자를 업데이트 할 때 사용자 이름이 변경되지 않는 것으로 보입니다. 나는 그것을 사용해야 $wpdb->update합니까? 그렇다면 사용자 이름을 변경하는 코드는 어떻게 생겼습니까? WordPress API에서 사용자 이름 변경을 허용하지 않는 경우 사용자 로그인 변경으로 인한 결과는 무엇입니까?



답변

wp_update_user함수가 이것을해야한다고 확신했습니다 ( http://codex.wordpress.org/Function_Reference/wp_update_user ).

심지어 user_login을 param으로 얻지 만이 매개 변수를 설정하면 무시하는 것처럼 보입니다.

따라서이 코드는 좋아 보이지만 원하는대로 작동하지 않습니다 🙁 :

wp_update_user( array ( 'ID' => $user_id, 'user_login' => $new_login ) ) ;

user_login을 업데이트하려면 사용자 지정 SQL 쿼리를 호출해야합니다.

$wpdb->update($wpdb->users, array('user_login' => $new_user_login), array('ID' => $user_id));

WP는 사용자 ID를 사용하여 게시물 / 의견 (등)을 사용자에게 할당하기 때문에 심각한 결과가 없다고 생각합니다.

내가 생각할 수있는 유일한 문제는이 사용자가 현재 로그인 할 때 user_login 변경 후 로그 아웃된다는 것입니다.


답변

SQL 쿼리를 통해 user_nicename을 변경하는 것도 고려할 수 있습니다. 이 작업이 완료되면 모든 퍼머 링크 및 기타 기능이 완벽하게 작동합니다.