WordPress
add_menu_page ()
수색…
소개
이 기능은 관리자 패널의 탐색 모음에 항목을 추가하는 것입니다.
통사론
- add_menu_page ($ page_title, $ menu_title, $ capability, $ menu_slug, $ function, $ icon_url, $ position)
매개 변수
매개 변수 | 세부 |
---|---|
$ page_title | (문자열) 메뉴를 선택할 때 페이지의 제목 태그에 표시 할 텍스트입니다. |
$ menu_title | (문자열) 메뉴에 사용할 텍스트입니다. |
$ 능력 | (문자열)이 메뉴를 사용자에게 표시하는 데 필요한 기능입니다. |
$ menu_slug | (문자열)이 메뉴를 참조 할 슬러그 이름 (이 메뉴에 대해 고유해야 함). |
$ function | (callable) (선택 사항)이 페이지의 내용을 출력하기 위해 호출되는 함수. |
$ icon_url | (문자열) (선택 사항)이 메뉴에 사용될 아이콘에 대한 URL입니다. |
$ 위치 | (int) (선택 사항) 메뉴 순서에서이 위치가 표시되어야하는 위치입니다. |
비고
다음은 기본 위치 목록입니다 ($ position의 경우).
- 2 - 대시 보드
- 4 - 세퍼레이터
- 5 - 게시물
- 10 - 미디어
- 15 - 링크
- 20 - 페이지
- 25 - 댓글
- 59 - 분리 기호
- 60 - 외모
- 65 - 플러그인
- 70 - 사용자
- 75 - 도구
- 80 - 설정
- 99 - 세퍼레이터
탐색 모음에 "테마 페이지 제목"항목 추가
암호
function add_the_theme_page(){
add_menu_page('Theme page title', 'Theme menu label', 'manage_options', 'theme-options', 'page_content', 'dashicons-book-alt');
}
add_action('admin_menu', 'add_the_theme_page');
function page_content(){
echo '<div class="wrap"><h2>Testing</h2></div>';
}
산출
설명
코드에서 add_the_theme_page
라는 함수를 add_menu_page
를 사용하여 항목을 navbar에 추가했습니다. 이 페이지의 매개 변수 부분을 확인하여 전달 된 인수에 대해 알아야합니다. 그런 다음 add_action
을 사용하여 add_the_theme_page
함수를 실행했습니다. 마지막으로 page_content
함수를 작성하여 페이지에 내용을 표시합니다.
OOP 및 메뉴 페이지에서 스크립트 / 스타일로드 방법
<?php
/*
* Plugin Name: Custom Admin Menu
*/
class SO_WP_Menu {
private $plugin_url;
public function __construct() {
$this->plugin_url = plugins_url( '/', __FILE__ );
add_action( 'plugins_loaded', array( $this, 'init' ) );
}
public function init() {
add_action( 'admin_menu', array( $this, 'add_menu' ) );
}
public function add_menu() {
$hook = add_menu_page(
'My Menu', // Title, html meta tag
'<span style="color:#e57300;">My Menu</span>', // Menu title, hardcoded style
'edit_pages', // capability
'dummy-page-slug', // URL
array( $this, 'content' ), // output
null, // icon, uses default
1 // position, showing on top of all others
);
add_action( "admin_print_scripts-$hook", array( $this, 'scripts' ) );
add_action( "admin_print_styles-$hook", array( $this, 'styles' ) );
}
public function content() {
?>
<div id="icon-post" class="icon32"></div>
<h2>Dummy Page</h2>
<p> Lorem ipsum</p>
<?php
}
# Printing directly, could be wp_enqueue_script
public function scripts() {
?><script>alert('My page');</script><?php
}
# Enqueing from a CSS file on plugin directory
public function styles() {
wp_enqueue_style( 'my-menu', $this->plugin_url . 'my-menu.css' );
}
}
new SO_WP_Menu();
이 예제에서 주목해야 할 중요한 점은 add_menu_page()
를 사용할 때 정확한 페이지를 대상으로 스타일과 스크립트를로드하는 데 사용할 수있는 후크를 반환한다는 것입니다.
일반적인 실수는 타겟팅하지 않고 대기열에 넣는 것이고 /wp-admin
전체에서 스크립트와 스타일을 유출합니다.
OOP를 사용하여 내부 메소드들 사이에 사용될 공통 변수를 저장할 수 있습니다.
Modified text is an extract of the original Stack Overflow Documentation
아래 라이선스 CC BY-SA 3.0
와 제휴하지 않음 Stack Overflow