带有自定义插件的管理控制台中的菜单错误:您没有足够的权限访问此页面

时间:2011-02-08 作者:Elitmiar

(Moderator\'s note: 原始标题是“获取错误:您没有足够的权限访问此页面。正在尝试构建自定义插件”)

我正在尝试编写自己的自定义WordPress插件,但我一单击菜单,就会出现以下错误:

您没有足够的权限访问此页面

我的插件位于:

/wp-content/plugins/wp-e-commerce-group-pricing/wp-e-commerce-group-pricing.php
代码如下,我是WordPress的新手,所以可能我做错了什么:

if ( is_admin() ) {
  // Hooks and admin menu setup
  add_action(\'admin_menu\', \'add_options_gp\');

  function add_options_gp() {
    add_submenu_page(\'wpsc-sales-logs\',\'WPEC - Group Pricing\',\'Group Pricing\',7,
                     \'wp-e-commerce-group-pricing\', \'price_options\');
  }

  function price_options(){
    // Page content goes here...
  }
}

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

我想问题可能在你的电话里add_submenu_page():

add_submenu_page(\'wpsc-sales-logs\',...
第一个参数需要引用菜单页的;“slug”;,i、 e.如果您使用\'edit.php\' 相反,您会看到在;“发布”菜单页:

add_submenu_page(\'edit.php\',\'WPEC - Group Pricing\',\'Group Pricing\', 7,
                 \'wp-e-commerce-group-pricing\', \'price_options\');
下面是它的样子:

WordPress Admin Menu with Submenu Page URLmikeschinkel.com)

因此,您需要找出URL片段(过去的部分http://yoursite.com/wp-admin/) 菜单页使用的。

更新

对于未来的读者,罗兰的问题是a hook priority 问题将优先级从10更改为11在他的情况下修复了它:

add_action(\'admin_menu\', \'add_options_gp\',11);
还有,你真的不需要if 报表测试is_admin() 因为您正在使用\'admin_menu\' 钩它只在管理员中激发。

SO网友:kaiser

如果您将其作为子菜单页添加到其他菜单项,它是否会显示并工作?请尝试这一点,以使舒尔正常工作,唯一的问题是slug。我建议查看父插件文件夹和其中的add\\u menu\\u页面。

如果您查看您的wp电子商务文件夹:wp-e-commerce>wpsc admin>admin。php第71-96行中,您将了解插件的实现方式。

@迈克:Here\'s the download link

尝试使用add_object_page( $page_title, $menu_title, $access_level, $file, $function = \'\', $icon_url = \'\'); 具有\'admin.php?page=wpsc-sales-logs\'\'wpsc-sales-logs\'.

或者尝试使用add_submenu_page(\'wpsc-sales-logs\', __(\'WPEC - Group Pricing\', \'wpsc\'), __(\'Group Pricing\', \'wpsc\'), 7, \'wpsc-sales-logs\', \'price_options\'); 或者查看wp-e-commerce插件文件的参考(来自上面的文件)第99-108行

结束

相关推荐