Doppelte Haupt - Untermenü in Admin entfernen?

11

Wenn ich add_menu_page& verwende add_submenu_page, um Menüelemente 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 so etwas bekommen

  • Formen
    • Formen
    • Bewerbungen
    • Angebotsanfragen
    • Kontakte

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

  • Formen
    • Bewerbungen
    • Angebotsanfragen
    • Kontakte

Mit anderen Worten, Formulare werden mit Bewerbungen verknüpft, und ich möchte den zusätzlichen Untermenüpunkt Formulare nicht

JM bei der Arbeit
quelle

Antworten:

9

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 gibt es derzeit keine .

So entfernen Sie die Untermenüseitenoption in WordPress 3.1 oder verwenden Sie remove_submenu_page()Code wie diesen in der functions.phpDatei Ihres Themas oder in einer .phpDatei eines Plugins, die Sie möglicherweise schreiben:

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 noch WordPress 3.0 verwenden, müssen Sie unset()ein Element der globalen Variablen $submenuwie folgt verwenden:

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
quelle
Vielen Dank ........... :)
Ridwan Pujakesuma
1

Ich musste_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');
Doug Cassidy
quelle
1

Ich würde vorschlagen , den zusätzlichen Menüpunkt beizubehalten, da alle anderen WP-Menüs so funktionieren. (Ich weiß, das haben Sie nicht gefragt! ...) Die anderen Menüs 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, an demselben Paradigma festzuhalten, deshalb benenne ich normalerweise den ersten Untermenüpunkt 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 );
Sam Wilson
quelle
1

Weisen Sie den ersten Untermenü-Slug ähnlich dem übergeordneten Menü zu. Ersetzen Sie in Ihrem Fall "Bewerbungen" durch den Slug des Hauptmenüs "Formulare".

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