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);   
}
?>

我知道这不是安全前景的最佳代码。我正在我的本地系统上尝试这些。

根据上面的代码,只有“关于”和“今天的菜单”应该显示为子菜单,但它也显示“Rooties 设置”。请让我知道我错在哪里。

4

1 回答 1

1

来自法典:http ://codex.wordpress.org/Adding_Administration_Menus#Using_add_submenu_page

对于现有的 WordPress 菜单,处理菜单页面内容显示的 PHP 文件。对于自定义顶级菜单的子菜单,此子菜单页面的唯一标识符。

在插件创建自己的顶级菜单的情况下,第一个子菜单通常与顶级菜单具有相同的链接标题,因此链接将被复制。通过第一次调用 add_submenu_page 函数并赋予 parent_slug 和 menu_slug 参数相同的值,可以避免重复的链接标题。

这里有一些代码示例,虽然它们很旧 -> 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 回答