为什么我的菜单没有出现在管理面板上

时间:2011-06-23 作者:Khurram Ijaz

我是wordpress的新手,所以你可以在下面添加很多疯狂的代码。我想要的是在wordpress的adminpanel中,在Pages->MergeImage下为我的客户机提供一个选项。当客户端单击页面小部件下出现的MergeImage选项时,我想向他显示我的自定义表单。为了实现以上所有目标,我遵循了codex并最终创建了一个插件。下面是我的插件代码。

add_action(\'admin_menu\', \'my_plugin_menu\');

function my_plugin_menu() {
    add_options_page(\'My Plugin Options\', \'My Plugin\', \'manage_options\', \'my-unique-identifier\', \'my_plugin_options\');
}

function my_plugin_options() {
    if (!current_user_can(\'manage_options\'))  {
        wp_die( __(\'You do not have sufficient permissions to access this page.\') );
    }
    echo \'<div class="wrap">\';
    echo \'<p>Here is where the form would go if I actually had options.</p>\';
    echo \'</div>\';
}
这个索引中没有其他内容。ImageMerge文件夹中的php文件。当我激活插件时,我没有收到任何错误,但也看不到任何菜单。下面的代码是抄本粘贴。因此,代码应该没有任何问题,我想一定是有什么东西需要添加到其中,但我没有找到任何关于wordpress的好教程来完成这项任务。请告诉我还需要什么?

2 个回复
最合适的回答,由SO网友:Scott 整理而成

您正在使用add_options_page() 这意味着您正在WP admin菜单的settings部分下添加一个页面菜单项。听起来你不想在那里添加页面,但你真的希望它显示为pages 菜单我的这个假设正确吗?

如果是这种情况,您需要考虑使用add_submenu_page(\'edit.php?post_type=page\',...) 相反参见codex文章add_submenu_page()

此外,您将上述代码放置在何处?在插件文件或主题函数中。php文件?

SO网友:Milo

add_options_page() 将菜单项置于“设置”菜单下。我相信你会在那里找到你的插件菜单。

如果要在“页面”菜单下显示,必须使用add_submenu_page():

add_submenu_page(\'edit.php?post_type=page\', \'My Plugin Options\', \'My Plugin\', \'manage_options\', \'my-unique-identifier\', \'my_plugin_options\');
注意,在开始处有一个额外的参数来传递父菜单段塞。

结束

相关推荐

WordPress MS wp-admin/includes/post.php出现短码生成器错误

我对Wordpress 3.1启用多站点和我的主题自定义短代码生成器有一个严重的问题。出于某种原因,每当我创建一个新的页面/帖子/自定义帖子类型页面等时,我都会遇到以下错误。这特别是单选按钮和“name”标记的问题。移除后,一切正常。当它设置为变量时,我会得到错误。但是,将变量设置为常量(如文本)会使其再次工作。这就是我所犯的错误;我不知道这是什么意思,也不知道是什么原因造成的:Warning: Invalid argument supplied for foreach() in /home/matthe