Hapus submenu utama duplikat di admin?

11

Ketika saya menggunakan add_menu_page& add_submenu_pageuntuk menambahkan item 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' );

Saya akan mendapatkan sesuatu seperti

  • Formulir
    • Formulir
    • Lamaran pekerjaan
    • Permintaan Penawaran
    • Kontak

Apakah mungkin untuk membuatnya menjadi seperti itu

  • Formulir
    • Lamaran pekerjaan
    • Permintaan Penawaran
    • Kontak

Dengan kata lain Formulir akan ditautkan ke Aplikasi Pekerjaan dan saya tidak ingin item submenu Formulir tambahan

JM di Tempat Kerja
sumber

Jawaban:

10

Hai @ JM di Tempat Kerja:

Ya, sayangnya halaman submenu ditambahkan untuk setiap halaman menu. Akan lebih baik jika ada pilihan tetapi sayangnya, saat ini tidak ada .

Untuk menghapus opsi halaman submenu di WordPress 3.1 atau digunakan remove_submenu_page()dengan kode seperti ini di functions.phpfile tema Anda , atau dalam .phpfile plugin yang mungkin Anda tulis:

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');
}

Jika Anda masih menggunakan WordPress 3.0 Anda harus unset()elemen variabel global $submenuseperti ini:

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]);
}
MikeSchinkel
sumber
Banyak Terima Kasih ........... :)
Ridwan Pujakesuma
1

Saya harus menambahkan_submenu_page, lalu menghapusnya (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');
Doug Cassidy
sumber
1

Saya sarankan untuk menyimpan item menu tambahan, karena itu adalah cara kerja semua menu WP lainnya. (Saya tahu bukan itu yang Anda minta! ...) Cara menu tingkat atas lainnya bekerja adalah bahwa mereka memiliki label berbeda untuk judul menu besar dan duplikat di bawahnya (mis. 'Pengguna', 'Semua Pengguna'; 'Alat', 'Alat yang Tersedia'). Saya pikir itu baik untuk tetap dengan paradigma yang sama, jadi saya biasanya mengganti nama item submenu pertama seperti ini:

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

Tetapkan siput submenu pertama yang mirip dengan menu induk. Dalam kasus Anda, ganti 'lamaran pekerjaan' dengan siput 'formulir' menu utama.

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' );
Evgeniy Z.
sumber