관리자의 사용자 페이지에 원하는 Column(이하 컬럼)을 추가하는 방법에 대해 스크랩 한다.
1. 컬럼 추가
테마의 functions.php 파일에 add_filter를 사용하여 컬럼을 추가한다.
function custom_user_columns( $column ) {
$column['registered'] = '가입일';
$column['url'] = '웹사이트';
return $column;
}
add_filter( 'manage_users_columns', 'custom_user_columns' );
$column['컬럼명(영문)'] = '컬럼라벨';
처럼 사용하여 더 많은 컬럼을 추가할 수 있다.
2. 컬럼 내용 추가
1번에서 추가한 컬럼에 표시할 내용을 추가한다.
function custom_user_columns_row( $val, $column_name, $user_id ) {
switch ( $column_name ) {
case 'registered':
return get_the_author_meta( 'user_registered', $user_id );
break;
case 'url':
return '<a href="'.get_the_author_meta( 'user_url', $user_id ).'" target="_blank">'.get_the_author_meta( 'user_url', $user_id ).'</a>';
break;
default:
}
return $val;
}
add_filter( 'manage_users_custom_column', 'custom_user_columns_row', 10, 3 );
Switch
안에 case
를 사용하여 컬럼의 내용을 추가할 수 있다.
case
명은 1번에서 지정한 컬럼명을 사용하면 된다.
3. 전체 소스
/**
* 관리자 > 사용자 목록 테이블에 column 추가하기
* https://wordpress.stackexchange.com/questions/160422/add-custom-column-to-users-admin-panel
*/
function custom_user_columns( $column ) {
$column['registered'] = '가입일';
$column['url'] = '웹사이트';
return $column;
}
add_filter( 'manage_users_columns', 'custom_user_columns' );
function custom_user_columns_row( $val, $column_name, $user_id ) {
switch ( $column_name ) {
case 'registered':
return get_the_author_meta( 'user_registered', $user_id );
break;
case 'url':
return '<a href="'.get_the_author_meta( 'user_url', $user_id ).'" target="_blank">'.get_the_author_meta( 'user_url', $user_id ).'</a>';
break;
default:
}
return $val;
}
add_filter( 'manage_users_custom_column', 'custom_user_columns_row', 10, 3 );