관리자 > 사용자 목록에 원하는 컬럼(Column) 추가하기

관리자의 사용자 페이지에 원하는 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 );
사용자 목록
사용자 목록에 추가된 custom columns

참고자료

  1. https://wordpress.stackexchange.com/questions/160422/add-custom-column-to-users-admin-panel
column 추가custom user columnsuseruser panel사용자사용자 컬럼 추가
블로그
프로젝트
스터디
포트폴리오