J'ai écrit un plugin personnalisé pour Wordpress.
Une fois que j'ajoute un sous-menu au plugin, je reçois une double entrée pour l'élément de niveau supérieur:
Je voudrais désactiver le deuxième élément de menu "TopLevel" afin qu'il ressemble à ceci:
Alors, comment puis-je désactiver le sous-menu Top leve?
Si vous ne voulez pas que le menu "TopLevel" représente une page personnalisée, vous pouvez utiliser:
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');
De cette manière, cliquez sur "TopMenu" pour transférer le 1er "Sous-menu" et empêcher la duplication de "TopLevel".
Une solution alternative consisterait à renommer l’étiquette "TopLevel" dans le sous-menu en ajoutant une entité de sous-menu avec les mêmes page_slug
, menu_slug
, function
(rappel) comme dans 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' );