【问题标题】:Restricting Permissions In WordPress Multisite Dashboard限制 WordPress 多站点仪表板中的权限
【发布时间】:2021-04-01 15:40:18
【问题描述】:

我创建了一个 WordPress 网络,并且在大多数情况下,我能够使用名为“User Role Editor Pro”的插件完美地控制对后端的访问,以根据用户角色修改访问权限。

问题是我无法弄清楚以下导航项的权限应该是什么:“

  • 仪表板 > 我的网站
  • 仪表板 > 添加新站点

你可以在下面的截图中看到我的意思:https://www.screencast.com/t/Y91cGtJhQd

我搜索了 WP 文档,但似乎找不到。我还在 PHP 中使用以下代码进行了尝试:

 function remove_menus(){
    remove_menu_page( 'my-sites.php' );    // Dashboard
    remove_menu_page( 'index.php?page=wu-new-site' );    // Dashboard
 }
 add_action( 'admin_menu', 'remove_menus' );

但这有两个问题......首先它不起作用,两个即使我确实从导航中删除了它,它也会删除权限,因此任何熟悉 WP 的人都可以粘贴一个 URL 并访问它。这不安全。

【问题讨论】:

    标签: wordpress permissions multisite


    【解决方案1】:

    您可以使用 remove_menu_page 将其隐藏,并在 admin_init 中执行单独的操作,检查当前屏幕是 my_sites.php 还是 index.php?page=wu-new-site 并重定向到仪表板,创造性的方法。

    这很可能无法解决 xml-rpc 的问题,因此您很可能也必须使用那个进行过滤。

    my-sites.php 似乎可供任何具有“读取”访问权限的人访问,我想其原因是允许用户轻松浏览他们通过网络注册的任何站点。

    您是否为此找到了一个优雅的解决方案?我认为重定向和隐藏界面可能是唯一的解决方案。

    【讨论】:

      猜你喜欢
      • 2022-11-23
      • 2019-11-01
      • 1970-01-01
      • 2016-07-05
      • 1970-01-01
      • 2019-05-28
      • 2018-02-05
      • 2015-08-04
      • 1970-01-01
      相关资源
      最近更新 更多