ลบรายการหลัก - เมนูย่อยใน admin หรือไม่


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 อื่น ๆ ทั้งหมด (ฉันรู้ว่านั่นไม่ใช่สิ่งที่คุณถาม!) วิธีการทำงานของเมนูระดับบนสุดอื่น ๆ คือพวกเขามีป้ายกำกับที่แตกต่างกันสำหรับชื่อเมนูขนาดใหญ่และรายการที่ซ้ำกันด้านล่าง (เช่น 'ผู้ใช้', 'ผู้ใช้ทั้งหมด'; 'เครื่องมือ', 'เครื่องมือที่มีอยู่') ฉันคิดว่าเป็นการดีที่จะยึดติดกับกระบวนทัศน์เดียวกันดังนั้นฉันมักจะเปลี่ยนชื่อรายการย่อยเมนูแรกเช่นนี้:

<?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.