问题描述
我创建了一个 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 并访问它。这不安全。
解决方法
您可以使用 remove_menu_page 将其隐藏,然后在 admin_init 中进行单独操作,检查当前屏幕是 my_sites.php 还是 index.php?page=wu-new-site 并重定向到仪表板,创造性的方法。
这很可能无法解决 xml-rpc 的问题,因此您很可能也必须使用该过滤器进行过滤。
my-sites.php 似乎对任何具有“读取”访问权限的人都可以访问,我想原因是允许用户轻松浏览他们通过网络注册的任何网站。
您是否为此找到了优雅的解决方案?我认为重定向和隐藏界面可能是唯一的解决方案。