디스 프로그래머 (This Programmer)

워드프레스에서 관리자 메뉴를 데이터로 조회하는 법 본문

PHP/WordPress

워드프레스에서 관리자 메뉴를 데이터로 조회하는 법

디스 프로그래머 2019. 4. 8. 22:28

워드프레스에서 관리자 메뉴를 데이터로 조회하는 법

global $menu, $submenu;

echo "<script>console.log(".json_encode($menu).")</script>";
echo "<script>console.log(".json_encode($submenu).")</script>";

해보면 된다. 해당 변수는 admin header에서 초기화되기 때문에 일반 페이지에서는 조회할 수 없고 wp-admin이라는 슬러그가 들어간 관리자페이지에서만 조회할 수 있다. 현재 메뉴별로 관리자 권한을 차등 적용하여 역할별로 접근할 수 있는 메뉴를 달리 하는 플러그인을 제작 중인데 아무리 생각해봐도 관리자 페이지에서 모든 메뉴들을 조회할 수 있음에도 불구하고 그런 변수가 담겨있지 않은 애가 없을 수가 없을 것 같았다. 해서 열심히 찾았다.

 구글링을 해봐도 menu랑 submenu는 너무 포괄적인 단어였던 데다가 대부분은 플러그인 등을 조작해서 관리자 화면을 관리하는 방법이었던 지라 코드를 찾던 나에게는 적합하지 않았다. User Role Editor라는 플러그인을 찾았는데 해당 기능은 유료라서 접었고, Admin Menu Editor는 보통 사람들이 사용하기에 너무 불친절한 메뉴구성과 사용방법이었기 때문에 접었다. 대신 거기에서 위 힌트들을 얻은 것이다.

 현재는 TodoList App처럼 역할별로 컬럼을 하나씩 만들어 메뉴 목록에서 쓸 수 있는 애들만 DND하는 방식으로 구상 중이다. 물론 일적으로 작업하는 거라 소스코드 공개나 플러그인 등록은 불가하겠지만 말이다.

1 Comments
댓글쓰기 폼