display name 변경 방법을 알아보자.
워드프레스는 기본적으로 회원가입할 때 사용자명(ID)를 display name으로 설정한다.
원할 때, 사용자 » 사용자 편집 » 공개적으로 보일 이름을 변경 해주면된다.
그런데 귀찮으니까… 이걸 자동으로 변경하는 방법을 알아보자.
display name = 공개적으로 보일 이름.
nickname = 별명.
last_name = 성.
first_name = 이름.
닉네임으로 변경
display name을 nickname으로 변경해보자.
functions.php
function set_display_name($display_name) { $nickname = esc_html($_POST['nick_name']); if(isset($nickname)) { $display_name = $nickname; } return $display_name; } add_filter('pre_user_display_name', 'set_display_name');
성 이름으로 변경
display name을 lastname firstname으로 변경해보자.
functions.php
function set_display_name() { $users = get_users(array('fields'=>'all')); foreach($users as $user) { $user = get_userdata($user->ID); $display_name = $user->last_name . $user->first_name; if($display_name!=' ') wp_update_user( array ('ID' => $user->ID, 'display_name' => $display_name) ); else wp_update_user( array ('ID' => $user->ID, 'display_name' => $user->display_login) ); if($user->display_name == '') wp_update_user( array ('ID' => $user->ID, 'display_name' => $user->display_login) ); } } add_action ('admin_head','set_display_name');
사용된 코드 설명
get_userdata()
:
조건과 일치하는 사용자 목록을 검색한다.
$user->last_name . $user->first_name;
:
$user라는 범위에서 last_name / first_name이라는 키로 접근한다. 이 순서로 기재하면 last_name first_name 순으로 값을 가져온다.
$user->last_name
:
last_name 대신 ID, user_nicename, user_email, nickname, role 등을 사용할 수 있다. 자세한 내용은 Code Reference 참고
wp_update_user()
:
데이터베이스에서 사용자를 업데이트한다.
‘ID’ => $user->ID
:
‘ID’라는 키는 $user->ID 값을 가진다.
이런 방법을 이용하여 display name을 변경할 수 있다.
여러가지 방법들이 있으니 입맛에 맞는 방법대로 코드를 만들어보자.
참고
Wordpress.org - Code Reference - wp_insert_user
회원 가입 후 자동으로 display name을 nickname으로 변경하기
워드프레스에서 모든 사용자의 '공개적으로 표시할 이름'을 변경하는 방법