我有一个可在管理控制台上创建菜单页面的插件:
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
中,有一个按钮用于从数据库中删除数据:
<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”,但是如果发送了任何参数,我将无法再访问它。
答案 0 :(得分:0)
我发现了问题,那就是URL看起来像“ 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”
答案 1 :(得分:0)
还在wp-setting.php文件中搜索“ define('DISALLOW_FILE_MODS',true);”并删除它。除此解决方案外,以上解决方案均不适用于我!
答案 2 :(得分:0)
负载均衡器接收HTTPS流量,然后将其作为HTTP在端口80上转发到wordpress服务器。
安装wordpress后,我遇到了重定向循环问题。解决方案是将以下代码添加到wp-config.php:
确保所有行必须在页面顶部。我发现了这个问题。可能会有所帮助。
define('FORCE_SSL_ADMIN', true);
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
$_SERVER['HTTPS']='on';