Ich habe ein benutzerdefiniertes Plugin für WordPress geschrieben.
Sobald ich ein Untermenü zum Plugin hinzufüge, erhalte ich einen doppelten Eintrag für das Element der obersten Ebene:
Ich möchte den zweiten Menüpunkt "TopLevel" deaktivieren, damit er so aussieht:
Also, wie deaktiviere ich das Top-Level-Untermenü?
Wenn Sie nicht möchten, dass das Menü "TopLevel" eine benutzerdefinierte Seite darstellt, können Sie Folgendes verwenden:
add_menu_page( 'TopLevel', 'TopLevel', 'MENU_CAP_LVL', 'MENU_SLUG', 'MENU_CB' );
add_submenu_page( 'MENU_SLUG', 'SubMenu', 'SubMenu', 'MENU_CAP_LVL', 'SUB_MENU_SLUG', 'SUB_MENU_CB' );
add_submenu_page( 'MENU_SLUG', 'SubMenu-A', 'SubMenu-A', 'MENU_CAP_LVL', 'SUB_MENU_A_SLUG', 'SUB_MENU_A_CB' );
remove_submenu_page('MENU_SLUG','MENU_SLUG');
Klicken Sie auf "TopMenu", um zum ersten "SubMenu" weiterzuleiten und zu verhindern, dass "TopLevel" dupliziert wird.
Eine alternative Lösung wäre das Umbenennen der Bezeichnung "TopLevel" im Untermenü durch Hinzufügen einer Untermenü-Entität mit demselben page_slug
, menu_slug
, function
(Rückruf) wie in add_menu_page
:
add_menu_page( 'TopLevel', 'TopLevel', 'MENU_CAP_LVL', 'MENU_SLUG', 'MENU_CB' );
add_submenu_page( 'MENU_SLUG', 'MyRenamedTopLevelMenu', 'MyRenamedTopLevelMenu', 'MENU_CAP_LVL', 'MENU_SLUG', 'MENU_CB' );
add_submenu_page( 'MENU_SLUG', 'SubMenu', 'SubMenu', 'MENU_CAP_LVL', 'SUB_MENU_SLUG', 'SUB_MENU_CB' );