WordPress错误:对不起,您访问的页面不存在!

hgncfbus  于 2023-10-17  发布在  WordPress
关注(0)|答案(5)|浏览(121)

我有一个插件,创建一个管理 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“,但如果任何参数发送我不能访问它了。

6yjfywim

6yjfywim1#

负载均衡器获取HTTPS流量,然后在端口80上将其作为HTTP转发到WordPress服务器。
我运行的问题与重定向循环后安装WordPress的。解决方案是将以下代码添加到wp-config.php:
确保行必须在页面的顶部。我发现了这个问题。或许能帮上忙。

define('FORCE_SSL_ADMIN', true);
if ($_SERVER['HTTP_X_FORWARDED_PROTO'] == 'https')
 $_SERVER['HTTPS']='on';
wwtsj6pe

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

s5a0g9ez

s5a0g9ez3#

也可以在wp-setting.php文件中搜索“define('DISALLOW_FILE_MODS',true);“并删除。以上的解决方案都不适合我,除了这个!

pb3s4cty

pb3s4cty4#

这是发生在我从phpmyadmin更改表前缀。

2lpgd968

2lpgd9685#

这解决了我的处境。
检查您的用户是否将wp_capabilities设置为“a:1:{s:13:“administrator”; B:1;}“。您可以使用它在MYSQL命令行中更新

update wp_usermeta
set meta_value = 'a:1:{s:13:\"administrator\";b:1;}'
where user_id = x AND meta_kety='wp_capabilities';

其中x是用户ID。

相关问题