RSS

태그 보관물: add_menu_page

최상위 메뉴 생성하기

사용자가 직접 만든 관리자 메뉴를 추가해 보자.

add_menu_page() 함수를 호출하면 간단하게 탑 메뉴가 생성된다. 기본 제공되는 워드프레스 메뉴와 같은 레벨로 등록된다. 위치를 지정하지 않으면 제일 아래쪽에 붙고, 위치값을 주면 원하는 곳에 생성할 수 있다.

    add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function, $icon_url, $position );

$function 인자에 콜백 함수를 지정해서 세부 설정 페이지를 구성할 수 있따. 메뉴가 호출되면서 콜백함수가 호출되는 식이다. $position으로 탑 메뉴 위치를 조정한다. 기존 설정된 것과 중복되지 않도록 주의해야 하는데, 가능하면 정수형보다는 소수점을 주면 중복을 최소화 할 수 있다. 예를 들어 Posts와 Media 사이에 추가하고 싶으면 6.3 값을 준다. 정수가 아닌 decimal형태로 주는 게 좋다.

 2 Dashboard
 4 Separator
 5 Posts
 10 Media
 15 Links
 20 Pages
 25 Comments
 59 Separator
 60 Appearance
 65 Plugins
 70 Users
 75 Tools
 80 Settings
 99 Separator

탑 메뉴에 하위 메뉴를 추가하려면 add_submenu_page()를 호출한다. 상위 메뉴와의 연관성을 위해 부모명을 입력해 주면 된다. 서브메뉴의 설정 페이지 역시 $function에 정의하여 콜백 처리하면 된다.

    add_submenu_page( $parent_slug, $page_title, $menu_title, $capability, $menu_slug, $function );

관리자메뉴

 

 
 

태그: ,

관리자 메뉴 생성 총정리

워드프레스는 편리하고 유연한 관리자 메뉴를 제공한다. 유연하다는 표현은 사용자가 관리자 메뉴를 간단하게 추가할 수 있기 때문이다. 보통 플러그인을 하나 추가할 때마다 관리자 메뉴가 추가된다.

관리자 메뉴를 추가하는 방법은 크게 세 가지다. 일반적으로 최상위 또는 기존 메뉴의 하위메뉴 형태로 생성한다. 그리고 기존 포스트 타입을 이용하는 방법이 있다. 포스트 타입을 이용할 때는 정해진 템플릿의 값을 정의해야 한다. 메뉴의 순서는 함수의 인자값을 통해 바꿀 수 있다.

  • 최상위 레벨에 메뉴 추가 : add_menu_page() 호출
  • 기존 메뉴의 하위에 추가 : add_submenu_page() 호출
  • 포스트 타입 이용 : register_post_type() 호출

관리 메뉴를 클릭했을 때 나타나는 설정 페이지도 세 가지 형태다. 완전하게 새로운 페이지를 생성하거나 워드프레스에서 기본 제공한 관리자 페이지에 섹션을 구성하거나 포스트 타입이 제공하는 템플릿을 이용하는 것이다.

  • 새로운 설정 페이지 생성 : add_menu_page() / add_submenu_page()의 콜백 함수를 정의
  • 기존 설정 페이지에 추가 : add_settings_section() 이용
  • 포스트 타입 템플릿 이용 : register_post_type() 인자로 정의된 레이블과 템플릿 이용

사용자 메뉴가 생성되었으면 그 설정페이지를 구성해야 한다. 거기에 사용되는 사용자 필드의 값을 저장하거나 불러올 수 있어야 한다.

  • 별도의 옵션으로 등록하여 사용 : add_option(), update_option(), get_option(), delete_option()
  • 기존 설정 페이지 옵션값으로 등록하여 사용 : add_settings_field(), register_setting()
 
 

태그: , , ,