質問: プラグインのトップレベルメニュー項目の重複したサブメニュー名を削除するにはどうすればいいですか? 私はwordpress用のカスタムプラグインを書きました。サブメニューをプラグインに追加すると、トップレベルの項目に二重のエントリが表示されます。 2番目の "toplevel"メニュー項目を無効にして、次のように表示します。 それで、トップレベルサブメニューを無効にするにはどうすればいいですか?
回答: あなたが 'toplevel'メニューがカスタムページを表すことを望まないならば、あなたは使うことができます: 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'); このようにして "topmenu"をクリックすると、最初の "submenu"に進み、 "toplevel"が重複しないようにします。別の解決策は、page_slugで使用されているのと同じmenu_slug、add_menu_page、function(コールバック)を持つサブメニューエンティティを追加することによって、サブメニュー内の "toplevel"ラベルの名前を変更することです。 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' );