알림판의 기본 위젯 제거하기

WP스크랩, 워드프레스

워드프레스를 설치하고 나면 알림판에 여러 기본 위젯들이 나타난다.

개인적으로 사용하는 블로그형 사이트라면 놔둬도 크게 상관은 없는데, 클라이언트에게 납품하는 사이트의 경우 제거해서 납품하는게 좀 더 여러모로 정말 많이 낫다.

※ 대시보드에 기본 위젯이 추가될 경우 그에 맞춰 계속 업데이트 할 예정.

1. 기본 위젯 제거

remove_meta_box( $id, $page, $context ); 함수를 사용하여 원하는 위젯을 제거할 수 있다.
사용법은 의외로 간단하다.

Parameter 설명
$id 위젯의 ID
$page 위젯이 표시되는 페이지
$context 위젯의 위치

메타박스를 제거하는 remove_meta_box함수이기 때문에 $context라는 파라미터 값이 필요하다. 우리는 알림판(대시보드)의 위젯을 지울 것이므로 $context의 값은 normal을 사용하자.

함수의 자세한 설명은 WordPress Codex(링크) 문서를 참고하자.

예제 코드

function remove_dashboard_widgets() {
	remove_meta_box( 'dashboard_activity', 'dashboard', 'normal' ); // '활동' 제거
	remove_meta_box( 'dashboard_primary', 'dashboard', 'normal' ); // '워드프레스 이벤트 및 뉴스' 제거
	remove_meta_box( 'dashboard_right_now', 'dashboard', 'normal' ); // '사이트 현황' 제거
	remove_meta_box( 'dashboard_quick_press', 'dashboard', 'normal' ); // '빠른 임시글' 제거
}
add_action( 'admin_menu', 'remove_dashboard_widgets' );

2. 환영합니다 알림판(Panel) 제거

워드프레스 초기 설치 시 나타나는 “환영합니다”라는 알림판은 위 방식으로 제거되지 않으니 아래 코드를 사용하자. (됐던가? 암튼,)

// 환영합니다 알림판 제거
remove_action( 'welcome_panel', 'wp_welcome_panel' );

remove_action을 사용하기 때문에 별도의 function을 추가할 필요는 없다.

3. 구텐베르그 알림판 제거

워드프레스에서 이번에 제작하여 테스트중인 구텐베르그 에디터의 알림판을 제거할 수 있다.

// 구텐베르그 알림판 제거
remove_action( 'try_gutenberg_panel', 'wp_try_gutenberg_panel' );

4. KBoard를 사용할 경우 발생하는 상황

Cosmosfarm에서 배포하는 유용한 한국형 게시판 플러그인, KBoard를 사용할 경우, 2번에서 환영합니다 알림판을 제거하면 갑자기 KBoard 알림판이 나타난다. (…)

이것도 제거해주자.

// KBoard 알림판 제거
remove_action( 'welcome_panel', 'kboard_welcome_panel' );

5. 전체 코드

/**
 * 워드프레스 대시보드(알림판) 위젯 제거
 * https://codex.wordpress.org/Function_Reference/remove_meta_box
 * https://www.wpbeginner.com/wp-tutorials/how-to-remove-wordpress-dashboard-widgets/
 */
function remove_dashboard_widgets() {
	remove_meta_box( 'dashboard_activity', 'dashboard', 'normal' ); // '활동' 제거
	remove_meta_box( 'dashboard_primary', 'dashboard', 'normal' ); // '워드프레스 이벤트 및 뉴스' 제거
	remove_meta_box( 'dashboard_right_now', 'dashboard', 'normal' ); // '사이트 현황' 제거
	remove_meta_box( 'dashboard_quick_press', 'dashboard', 'normal' ); // '빠른 임시글' 제거
}
add_action( 'admin_menu', 'remove_dashboard_widgets' );

// 환영합니다 알림판 제거
remove_action( 'welcome_panel', 'wp_welcome_panel' );

// 구텐베르그 알림판 제거
remove_action( 'try_gutenberg_panel', 'wp_try_gutenberg_panel' );

// KBoard 알림판 제거
remove_action( 'welcome_panel', 'kboard_welcome_panel' );

참고자료

  1. https://www.wpbeginner.com/wp-tutorials/how-to-remove-wordpress-dashboard-widgets/
  2. https://codex.wordpress.org/Function_Reference/remove_meta_box
remove_meta_box구텐베르그기본 위젯 제거사라져랏알림판 제거환영합니다!
블로그
프로젝트
스터디