2

我为主题定制创建了一个功能。

function create_theme_option() {

        add_menu_page(  'Manage Options', //Page Title 

                        'Theme Option', //WP Administrator Menu Title

                        'manage_options', //

                        'theme-options', //Link to a page to your Administration Area

                        'deploy_theme_options', //Function Name

                        get_template_directory_uri() . '/Plugins/Background Changer/images/icons/icon.png',//Menu Icon 

                        99);

        add_submenu_page("theme-options", "Theme Settings", "Theme Settings", 1, "theme-settings", "theme_settings");

        add_submenu_page("theme-options", "Manage Header", "Manage Header", 1, "manage-header", "manage_header");

        add_submenu_page("theme-options", "Social Media", "Social Media Links", 1, "social-media", "social_media");

        add_submenu_page("theme-options", "Catalog Manager", "Catalog Manager", 1, "catalog-manager", "catalog_manager");

    }

但我注意到在标签“主题选项”之后,旁边出现了另一个文本作为“主题选项”。检查下面的图片:

http://leojarina.info/stock-data/images/screenshot.jpg

我怎样才能解决这个问题?请帮忙!

4

5 回答 5

9

@Basharat 非常接近。这是我在插件中使用的一种更简洁的方式:

add_menu_page(
    '',                     // No need to have this
    'My Plugin',            // Menu Label
    'manage_options',
    'my_plugin_settings',   // (*) Shared slug
    'your_function',
    plugins_url('myplugin/images/icon.png'),
    81
);

add_submenu_page(
    'my_plugin_settings',   // (*) Shared slug
    'My Plugin Settings',   // Subpage Title
    'Settings',             // Submenu Label
    'manage_options',
    'my_plugin_settings',   // (*) Shared slug
    'your_function'
);

资料来源:咖啡,反复试验;)

于 2013-03-08T07:29:32.053 回答
2

要解决此问题,您可以使用 remove_submenu_page, http: //codex.wordpress.org/Function_Reference/remove_submenu_page 。

例子:

remove_submenu_page ('my-menu-slug','my-menu-slug')

于 2013-02-14T09:50:15.117 回答
1

请使用下方删除子菜单中菜单的重复条目。

<?php 
/* Add top level menu */
add_menu_page(
    'MyTheme', 
    'MyTheme Menu Label',
    'edit_themes', 
    'theme_admin',        // menu slug
    'functions.php',        // function
    get_bloginfo('template_directory') .'/img/favicon.png',
    31
);

/* remove duplicate menu hack */
add_submenu_page(
    'theme_admin',        // parent slug, same as above menu slug
    '',        // empty page title
    '',        // empty menu title
    'edit_themes',        // same capability as above
    'theme_admin',        // same menu slug as parent slug
    'functions.php',        // same function as above
}
?>

这不是太干净,但是隐藏重复子菜单的唯一方法。

参考: https ://wordpress.stackexchange.com/questions/52675/how-to-remove-duplicate-link-from-add-menu-page

于 2012-09-24T09:27:39.020 回答
0

我认为你应该检查不应该是 99 的能力参数

http://codex.wordpress.org/Function_Reference/add_menu_page

于 2012-06-13T08:12:12.373 回答
0

我发现的唯一工作方法是将add_menu_page$capabilties 设置为未知,因此类似于'unknown',这将隐藏页面或子菜单,但菜单仍将显示在左侧。

于 2015-04-19T15:19:37.263 回答