我的一个客户正在使用Woocommerce运行wordpress网站。最近我被要求以其用户之一的身份登录,以便复制问题。WordPress的:为什么订户可以看到管理面板?
我发现的是,我可以键入/ wp-admin,它只是把我带到完整的管理面板,我拥有与管理员相同的菜单项。这显然是非常严重的,因为如果任何用户知道这一点,他们可以把网站放下,如果他们想要的话。
在试图阻止他们,我把下面的脚本在functions.php文件:
// Redirect non-admins away from wp-admin
add_action('init', 'blockusers_init');
function blockusers_init() {
$current_user = wp_get_current_user();
if (is_admin() && ! current_user_can('administrator') && ! (defined('DOING_AJAX') && DOING_AJAX)) {
wp_redirect(home_url());
exit;
}
}
为具有“用户”的角色,current_user_can(“管理员”用户登录后)返回false如果我在网站的前端,并且返回如果我转到/ wp-admin,则返回true。
由于当前用户只是一个订阅者,我认为它应该在任何地方都返回false。
我有点卡住了......我不知道接下来应该看什么。 (我尝试了像禁用所有插件一样的东西,但问题仍然存在)。你们有什么想法我应该接下来尝试吗?
您是否点击了管理面板并确认它实际上是管理面板而不是个人用户设置管理面板? –
您是否在常规设置中选中了“新用户默认角色”选项? – JazZ