Entfernen Sie doppelte Haupt – Untermenü in Admin?

Wenn ich add_menu_page & add_submenu_page , um add_submenu_page hinzuzufügen,

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

Ich werde etwas wie bekommen

  • Formen
    • Formen
    • Bewerbungen
    • Angebotsanfragen
    • Kontakte

Ist es möglich, es so zu schaffen, dass es wird?

  • Formen
    • Bewerbungen
    • Angebotsanfragen
    • Kontakte

Mit anderen Worten: Formulare werden mit den Job-Anwendungen verknüpft, und ich möchte den zusätzlichen Formular-Untermenü-Eintrag nicht

Solutions Collecting From Web of "Entfernen Sie doppelte Haupt – Untermenü in Admin?"

Hallo @JM bei der Arbeit:

Ja, leider wird die Untermenü-Seite für jede Menüseite hinzugefügt. Es wäre schön, wenn es eine Option gäbe, aber leider nicht .

Um die Option für die Untermenüs in WordPress 3.1 zu entfernen, benutze remove_submenu_page() mit Code wie diesem in der functions.php Datei deines Themes oder in einer .php Datei eines Plugins, das du vielleicht schreibst:

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

Wenn Sie immer noch WordPress 3.0 verwenden, müssen Sie ein Element der globalen Variable $submenu wie $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]); } 

Ich würde vorschlagen , den zusätzlichen Menüpunkt beizubehalten, weil es so ist, wie alle anderen WP-Menüs funktionieren. (Ich weiß, dass Sie das nicht gefragt haben! …) Die anderen Menüs auf der obersten Ebene funktionieren so, dass sie unterschiedliche Bezeichnungen für den großen Menütitel und das darunter liegende Duplikat haben (z. B. “Benutzer”, “Alle Benutzer”; ‘Werkzeuge’, ‘Verfügbare Werkzeuge’). Ich denke, es ist gut, mit dem gleichen Paradigma zu bleiben, daher benenne ich den ersten Untermenüpunkt normalerweise wie folgt um:

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

Ich musste add_submenu_page hinzufügen und dann entfernen (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');