7

私が作成しているワードプレスプラグインでは、サブメニューページを持つ新しいトップレベルの管理メニューを作成しています。これが私のコードです:

add_menu_page('Eastview Custom', 'Eastview Custom', 5,"eastview-custom");
add_submenu_page("eastview-custom","GLS Lunch Orders","GLS Lunch",5,'glsLunch','glsLunch');

したがって、このコードは新しい管理メニュー「Eastview Custom」を作成します。次に、「Eastview Custom」と「GLS Lunch」の 2 つのサブリンクを追加します。問題は、「Eastview Custom」をサブリンクにしたくないことです。サブリンクは「GLSランチ」のみにしてほしいです。これを行う方法がわかりません。助けてくれてありがとう!

4

3 に答える 3

9

コーデックスによると

プラグインが独自のトップレベル メニューを作成している状況では、通常、最初のサブメニューにはトップレベル メニューと同じリンク タイトルが付けられるため、リンクが複製されます。重複したリンク タイトルは、parent_slug パラメーターと menu_slug パラメーターに同じ値を指定して add_submenu_page 関数を最初に呼び出すことで回避できます。

このページで確認できます: http://codex.wordpress.org/Adding_Administration_Menus#Sub-Menus

したがって、Codex によると、次のようなものを持つことができるはずです (ユーザー レベルのパラメーターは非推奨であるため、機能に置き換え、すべてを単一引用符に標準化したことに注意してください)。

add_menu_page('Eastview Custom', 'Eastview Custom', 'manage_options', 'my-top-level-handle');
add_submenu_page( 'my-top-level-handle', 'GLS Lunch Orders', 'GLS Lunch', 'manage_options', 'my-top-level-handle');

これは Codex に基づいて機能すると思われるかもしれませんが、そうではありません。サブメニュー項目が 1 つしかないため、サブメニュー項目は表示されません。別のアイテムを追加すると、これが機能することがわかります。

add_menu_page('Eastview Custom', 'Eastview Custom', 'manage_options', 'my-top-level-handle');
add_submenu_page( 'my-top-level-handle', 'GLS Lunch Orders', 'GLS Lunch', 'manage_options', 'my-top-level-handle');
add_submenu_page( 'my-top-level-handle', 'New Item', 'New item', 'manage_options', 'new-handle');

これが少し役立つことを願っています.1つのリスト項目に対する答えが見つからなかったのは残念です!

于 2012-07-23T14:35:15.557 に答える
1

別の方法は、メインメニューを作成した後にサブメニューを削除することです

add_menu_page('Eastview Custom', 'Eastview Custom', 5,"eastview-custom");
add_submenu_page("eastview-custom","GLS Lunch Orders","GLS Lunch",5,'glsLunch','glsLunch');
remove_submenu_page("eastview-custom", "eastview-custom");
于 2015-11-09T15:13:31.617 に答える