2014-10-04 106 views
0

我是新来的wordpress,我试图在后端创建一个自定义菜单。 我跟着这http://codex.wordpress.org/Administration_Menus链接来创建菜单,它的工作原理,但我有一个小问题。WordPress的,管理员自定义菜单标题在子菜单上重复

Test TopLevel 
    Test TopLevel 
    Test Top Sub Level 
    Test Top Sub Level 2 

我想删除“测试顶层”下的子菜单,最终的结构,我想类似下面

Test TopLevel  
    Test Top Sub Level 
    Test Top Sub Level 2 

感谢所有您的时间。


菜单代码 http://codex.wordpress.org/Adding_Administration_Menus 说明:菜单测试 作者:食品作者 作者URI:http://example.com */

// Hook for adding admin menus 
add_action('admin_menu', 'mt_add_pages'); 

// action function for above hook 
function mt_add_pages() { 
    // Add a new submenu under Settings: 
    add_options_page(__('Test Settings','menu-test'), __('Test Settings','menu-test'), 'manage_options', 'testsettings', 'mt_settings_page'); 

    // Add a new submenu under Tools: 
    add_management_page(__('Test Tools','menu-test'), __('Test Tools','menu-test'), 'manage_options', 'testtools', 'mt_tools_page'); 

    // Add a new top-level menu (ill-advised): 
    add_menu_page(__('Test Toplevel','menu-test'), __('Test Toplevel','menu-test'), 'manage_options', 'mt-top-level-handle', 'mt_toplevel_page'); 

    // Add a submenu to the custom top-level menu: 
    add_submenu_page('mt-top-level-handle', __('Test Sublevel','menu-test'), __('Test Sublevel','menu-test'), 'manage_options', 'sub-page', 'mt_sublevel_page'); 

    // Add a second submenu to the custom top-level menu: 
    add_submenu_page('mt-top-level-handle', __('Test Sublevel 2','menu-test'), __('Test Sublevel 2','menu-test'), 'manage_options', 'sub-page2', 'mt_sublevel_page2'); 
} 

// mt_settings_page() displays the page content for the Test settings submenu 
function mt_settings_page() { 
    echo "<h2>" . __('Test Settings', 'menu-test') . "</h2>"; 
} 

// mt_tools_page() displays the page content for the Test Tools submenu 
function mt_tools_page() { 
    echo "<h2>" . __('Test Tools', 'menu-test') . "</h2>"; 
} 

// mt_toplevel_page() displays the page content for the custom Test Toplevel menu 
function mt_toplevel_page() { 
    echo "<h2>" . __('Test Toplevel', 'menu-test') . "</h2>"; 
} 

// mt_sublevel_page() displays the page content for the first submenu 
// of the custom Test Toplevel menu 
function mt_sublevel_page() { 
    echo "<h2>" . __('Test Sublevel', 'menu-test') . "</h2>"; 
} 

// mt_sublevel_page2() displays the page content for the second submenu 
// of the custom Test Toplevel menu 
function mt_sublevel_page2() { 
    echo "<h2>" . __('Test Sublevel2', 'menu-test') . "</h2>"; 
} 

?> 
+1

你能告诉我你的代码吗? – 2014-10-04 07:16:28

+0

谢谢你的回复,我更新了代码。请检查它 – 2014-10-04 07:38:09

回答

1

如你是新到wordpress你可能不知道这一点。但让我告诉你,一般来说,你添加为菜单成为第一个子菜单。你可以通过安装插件注意到它。

但是你也可以通过下面的代码定制:

// Hook for adding admin menus 
    add_action('admin_menu', 'mt_add_pages'); 

    // action function for above hook 
    function mt_add_pages() { 
     // Add a new submenu under Settings: 
     add_options_page(__('Test Settings','menu-test'), __('Test Settings','menu-test'), 'manage_options', 'testsettings', 'mt_settings_page'); 

     // Add a new submenu under Tools: 
     add_management_page(__('Test Tools','menu-test'), __('Test Tools','menu-test'), 'manage_options', 'testtools', 'mt_tools_page'); 

     // Add a new top-level menu (ill-advised): 
     add_menu_page(__('Test Toplevel','menu-test'), __('Test botlevel','menu-test'), 'manage_options', 'mt-top-level-handle', null); 

     // Add a submenu to the custom top-level menu: 
     add_submenu_page('mt-top-level-handle', __('Test Sublevel','menu-test'), __('Test Sublevel','menu-test'), 'manage_options', 'mt-top-level-handle', 'mt_sublevel_page'); 

     // Add a second submenu to the custom top-level menu: 
     add_submenu_page('mt-top-level-handle', __('Test Sublevel 2','menu-test'), __('Test Sublevel 2','menu-test'), 'manage_options', 'sub', 'mt_sublevel_page2'); 
    } 

    // mt_settings_page() displays the page content for the Test settings submenu 
    function mt_settings_page() { 
     echo "<h2>" . __('Test Settings', 'menu-test') . "</h2>"; 
    } 

    // mt_tools_page() displays the page content for the Test Tools submenu 
    function mt_tools_page() { 
     echo "<h2>" . __('Test Tools', 'menu-test') . "</h2>"; 
    } 

    // mt_sublevel_page() displays the page content for the first submenu 
    // of the custom Test Toplevel menu 
    function mt_sublevel_page() { 
     echo "<h2>" . __('Test Sublevel', 'menu-test') . "</h2>"; 
    } 

    // mt_sublevel_page2() displays the page content for the second submenu 
    // of the custom Test Toplevel menu 
    function mt_sublevel_page2() { 
     echo "<h2>" . __('Test Sublevel2', 'menu-test') . "</h2>"; 
    } 

这里我所做的是,我给nulladd_menu_page而且除了我已经给SAME弹头SUB MENUMENU了。 在我们的案例中,它是mt-top-level-handle

注意:有了这个,你不能这样做:

测试TOPLEVEL
                  测试顶子级别

你需要有一个以上的子菜单。

+0

非常感谢:) – 2014-10-04 09:00:55

+0

快乐编码! – 2014-10-04 09:04:21