我是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);
}
?>
我知道这不是安全前景的最佳代码。我在我的本地系统尝试这些。
按照上面的代码,只有“关于”和“今天的菜单”应该显示为子菜单,但它也显示“Rooties设置”。请让我知道我错在哪里。
答案 0 :(得分:1)
来自法典:http://codex.wordpress.org/Adding_Administration_Menus#Using_add_submenu_page
对于现有的WordPress菜单,处理显示的PHP文件 菜单页面内容。对于自定义顶级菜单的子菜单,a 此子菜单页面的唯一标识符。
在插件创建自己的顶级菜单的情况下, 第一个子菜单通常与顶级链接标题相同 菜单,因此链接将被复制。重复的链接标题 可以通过第一次调用add_submenu_page函数来避免 与parent_slug和menu_slug参数给出相同的 值。
这里有一些代码示例,虽然它们很旧 - &gt; 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');