2

wordpress開発初心者です。プラグインを作成しようとしていますが、最上位のメニュー項目がサブメニュー項目としても表示されています。以下は私のコードです。

<?php
/*
Plugin Name: rooties_main_menu
*/
add_action('admin_menu', 'gpwp_rooties_create_menu');
function gpwp_rooties_create_menu() {
add_menu_page('My Rooties Setting','Rooties Settings', 'manage_options', __FILE__, 'gpwp_rooties_setting_page',plugins_url('/images/wordpress.png',__FILE__) );

add_submenu_page(__FILE__, 'About Rooties Plugin', 'About', 'manage_options',__FILE__.'_about',gpwp_rooties_setting_about_page);
add_submenu_page(__FILE__, 'Today\'s Menu', 'Today\'s Menu', 'manage_options',__FILE__.'_about',gpwp_rooties_setting_menu_form_page);   
}
?>

セキュリティの見通しからすると、これが最良のコードではないことはわかっています。私はローカルシステムでこれらを試しています。

上記のコードでは、「About」と「Today's menu」のみがサブメニューとして表示されるはずですが、「Rooties Settings」も表示されています。どこが間違っているか教えてください。

4

1 に答える 1

1

コーデックスから: http://codex.wordpress.org/Adding_Administration_Menus#Using_add_submenu_page

既存の WordPress メニューの場合、メニュー ページ コンテンツの表示を処理する PHP ファイル。カスタム トップレベル メニューのサブメニューの場合、このサブメニュー ページの一意の識別子。

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

古いものですが、ここにいくつかのコード例があります -> http://wordpress.org/support/topic/add_menu_page-always-add-an-extra-subpage

前:

add_menu_page('Section', 'Section', 10, __FILE__, 'section');
add_submenu_page(__FILE__, 'Edit', 'Edit', 10, 'section-edit', 'section_edit');

修理済み:

add_menu_page('Section', 'Section', 10, __FILE__, 'section');
add_submenu_page(__FILE__, 'Edit', 'Edit', 10, __FILE__, 'section_edit');
于 2013-05-21T16:37:09.333 に答える