您没有足够的权限在子菜单上访问此页面

时间:2016-03-11 作者:Quiver

我正在为WordPress编写第一个插件,在尝试向页面传递参数时遇到了权限问题。

我添加了一个子菜单页,用于在用户导航到链接时处理从数据库中删除类别的操作。

但是,当您导航到特定URL时,我收到了错误:

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

下面是添加子菜单页面:

add_submenu_page( null, \'Delete Category\', \'Delete Category\', \'administrator\', \'ecosystem-delete-category );
所有类别都有Delete 链接旁边,当用户单击某个类别的链接时,他们会被重定向到url,并传入ID 参数

echo \'<td><a href="/wp-admin/admin.php?page=ecosystem-delete-category?id=\' . $categoryId . \'">Delete</a></td>\'
这就是我身上的ecosystem-delete-category 页码:

$id = $_GET[\'id\'];
global $wpdb;
$table_name = $wpdb->prefix . "ecosys_category";
$wpdb->delete( $table_name, array( \'category_ID\' => $id) );
我相信我的问题是传递参数,但也许我错了。任何帮助都将不胜感激!

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

继续做更多的研究,最终找到了我问题的解决方案!因为我将参数传递给的url是/wp-admin/admin.php?page=ecosystem-delete. 我都没注意到?page=ecosystem-delete 已经是一个参数,因此我需要将第二个参数作为&id= 而不是?id=.

一个被忽视的简单错误。:)

相关推荐

Capabilities Not Changing

我希望编辑器能够列出、添加和编辑用户。我认为下面的代码可以做到这一点,但它不起作用-没有为任何编辑器显示新的用户菜单。我错过什么了吗?function increase_editor_role(){ $role = get_role(\'editor\'); $role->add_cap(\'list_users\'); $role->add_cap(\'edit_users\'); $role->add_cap(\'c