관리자에서 중복 주-하위 메뉴를 제거 하시겠습니까?


11

add_menu_page& add_submenu_page를 사용 하여 메뉴 항목을 추가하면

add_menu_page( 'Forms', 'Forms', 'administrator', 'forms', 'forms_job_menupage_cb' );
add_submenu_page( 'forms', 'Job Applications', 'Job Applications', 'administrator', 'job-applications', 'forms_job_menupage_cb' );
add_submenu_page( 'forms', 'Quote Requests', 'Quote Requests', 'administrator', 'quote-req', 'forms_req_menupage_cb' );
add_submenu_page( 'forms', 'Contact', 'Contact', 'administrator', 'contact', 'forms_contact_menupage_cb' );

나는 같은 것을 얻을 것이다

  • 양식
    • 양식
    • 입사 지원서
    • 견적 요청
    • 콘택트 렌즈

그것이되도록 만들 수 있습니까

  • 양식
    • 입사 지원서
    • 견적 요청
    • 콘택트 렌즈

다시 말해 양식은 작업 응용 프로그램에 연결되며 추가 양식 하위 메뉴 항목을 원하지 않습니다.

답변:


10

직장에서 @JM 님 안녕하세요 :

예, 불행히도 하위 메뉴 페이지는 모든 메뉴 페이지에 추가됩니다. 옵션이 있지만 슬프다면 좋을 것 입니다. 현재는 없습니다 .

WordPress 3.1의 하위 메뉴 페이지 옵션을 제거하거나 remove_submenu_page()테마 functions.php파일 또는 .php플러그인 파일 에서 이와 같은 코드를 잘 사용하려면 다음을 수행하십시오 .

add_action( 'admin_menu', 'yoursite_admin_menu' );
function yoursite_admin_menu() {
  add_menu_page( 'Forms', 'Forms', 'administrator', 'forms', 'forms_job_menupage_cb' );
  add_submenu_page( 'forms', 'Job Applications', 'Job Applications', 'administrator', 'job-applications', 'forms_job_menupage_cb' );
  add_submenu_page( 'forms', 'Quote Requests', 'Quote Requests', 'administrator', 'quote-req', 'forms_req_menupage_cb' );
  add_submenu_page( 'forms', 'Contact', 'Contact', 'administrator', 'contact', 'forms_contact_menupage_cb' );
  remove_submenu_page('forms','forms');
}

여전히 WordPress 3.0을 사용하는 경우 다음 과 같이 unset()전역 변수의 요소가 있어야 $submenu합니다.

add_action( 'admin_menu', 'yoursite_admin_menu' );
function yoursite_admin_menu() {
  add_menu_page( 'Forms', 'Forms', 'administrator', 'forms', 'forms_job_menupage_cb' );
  add_submenu_page( 'forms', 'Job Applications', 'Job Applications', 'administrator', 'job-applications', 'forms_job_menupage_cb' );
  add_submenu_page( 'forms', 'Quote Requests', 'Quote Requests', 'administrator', 'quote-req', 'forms_req_menupage_cb' );
  add_submenu_page( 'forms', 'Contact', 'Contact', 'administrator', 'contact', 'forms_contact_menupage_cb' );
  unset($GLOBALS['submenu']['forms'][0]);
}

많은 감사합니다 ........... :)
Ridwan Pujakesuma

1

add_submenu_page를 추가 한 다음 제거해야했습니다 (wp 4.0.1).

add_menu_page( 'Admin Tools', 'Admin Tools', 'manage_options','parent', '__return_null','', "70.23423" );
    // this 'hides' the extra.  actually, just makes the text nothing: ''  
    add_submenu_page( 'parent', '',     '', 'manage_options',   'parent',   '__return_null' );
    //ah, but this removes it completely (you need to add it, then remove it :/     
    remove_submenu_page('parent','parent');

1

여분의 메뉴 항목을 유지 하는 것이 좋습니다 . 다른 모든 WP 메뉴가 작동하는 방식이기 때문입니다. (나는 그것이 당신이 요구 한 것이 아니라는 것을 알고 있습니다! ...) 다른 최상위 메뉴가 작동하는 방식은 큰 메뉴 제목과 그 아래에 중복되는 제목 (예 : 'Users', 'All Users'; '도구', '사용 가능한 도구'). 나는 같은 패러다임을 고수하는 것이 좋다고 생각하므로 일반적으로 첫 번째 하위 메뉴 항목의 이름을 다음과 같이 바꿉니다.

<?php
add_menu_page( 'Plugin Name', 'Plugin Name', 'read', 'plugin-slug', $callback );
add_submenu_page( 'plugin-slug', 'Plugin Overview', 'Overview', 'read', 'plugin-slug', $callback );

1

상위 메뉴와 유사한 첫 번째 하위 메뉴 슬러그를 지정하십시오. 귀하의 경우 '작업 응용 프로그램'을 주 메뉴 '양식'의 슬러그로 바꿉니다.

add_menu_page( 'Forms', 'Forms', 'administrator', 'forms', 'forms_job_menupage_cb' );
add_submenu_page( 'forms', 'Job Applications', 'Job Applications', 'administrator', 'forms', 'forms_job_menupage_cb' );
add_submenu_page( 'forms', 'Quote Requests', 'Quote Requests', 'administrator', 'quote-req', 'forms_req_menupage_cb' );
add_submenu_page( 'forms', 'Contact', 'Contact', 'administrator', 'contact', 'forms_contact_menupage_cb' );
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.