我有一个插件,创建一个管理 Jmeter 板上的菜单页:
function dp_manage_admin_menu() {
add_menu_page('Manage Data', 'Manage Data', 'manage_options', 'manage-data', 'dp_manage_data_page', '');
add_submenu_page('manage-data', 'Add New', 'Add New', 'manage_options', __FILE__ . '/add-new', 'tm_add_new_page');
}
// Actions
add_action('admin_menu', 'dp_manage_admin_menu');
在该页manage-data
,有一个按钮用于从DB中删除数据:
<a href="<?php echo admin_url() ?>admin.php?page=manage-data/manage-data.php?id=<?php echo (isset($result->id)) ? $result->id : ""; ?>" class="btn btn-danger btn-sm">
<i class="fa fa-trash-o"></i> Delete
</a>
所以如果我点击第一个按钮,它会转到“http://example.com/wp-admin/admin.php?page=manage-data?id=1“
然后我检查是否发送了id
,然后删除该结果:
if( isset($_GET['id']) ){
//Do something.
}
但我得到一个错误,当我点击删除按钮:
Sorry, you are not allowed to access this page.
我可以访问“http://example.com/wp-admin/admin.php?page=manage-data“,但如果任何参数发送我不能访问它了。
5条答案
按热度按时间6yjfywim1#
负载均衡器获取HTTPS流量,然后在端口80上将其作为HTTP转发到WordPress服务器。
我运行的问题与重定向循环后安装WordPress的。解决方案是将以下代码添加到wp-config.php:
确保行必须在页面的顶部。我发现了这个问题。或许能帮上忙。
wwtsj6pe2#
我发现了问题,这就是网址看起来像“http://example.com/wp-admin/admin.php?page=manage-data?qid=6“.
虽然还有另一个参数
?page=manage-data
。所以我应该使用
&
来添加另一个参数。URL应该是“http://example.com/wp-admin/admin.php?page=manage-data&qid=6“
s5a0g9ez3#
也可以在wp-setting.php文件中搜索“define('DISALLOW_FILE_MODS',true);“并删除。以上的解决方案都不适合我,除了这个!
pb3s4cty4#
这是发生在我从phpmyadmin更改表前缀。
2lpgd9685#
这解决了我的处境。
检查您的用户是否将wp_capabilities设置为“a:1:{s:13:“administrator”; B:1;}“。您可以使用它在MYSQL命令行中更新
其中x是用户ID。