• 断然的 tipsyhues公司

    (@tipsyhues)


    大家好,有没有办法限制超级管理员访问网络活动插件?插件必须是网络活动的才能正常运行,但重要的是,它的设置不能被网络中的其他人访问,甚至管理员也不能访问。

查看5个回复-1到5个(共5个)
  • 乔金

    (@joa-kim)

    应该有一种方法,那就是使用一个自定义函数,您可以添加到函数.php当前主题的文件。

    //限制访问测试插件设置的功能函数restrict_test_plugin_settings(){//检查我们是否在插件的设置页面上if(isset($_GET['page'])&&$_GET['page']===“test-pluginsettings”){//检查当前用户是否不是超级管理员如果(!is_super_admin()){//将非超级管理员用户重定向到设置页面之外wp_redirect(admin_url());出口;}}}add_action('admin_init','restrict_test_plugin_settings');

    更换'测试插头设置'使用“test-plugin”设置页面的实际slug。

    相关文件:

    螺纹起动器 tipsyhues公司

    (@tipsyhues)

    @乔希姆·拉托夫这很管用,我以基本管理员身份登录,无法打开插件。有没有办法从列表中完全隐藏插件?

    乔金

    (@joa-kim)

    我很高兴它成功了!如果你想要的是删除插件的任何痕迹(两者都来自wp-管理员菜单和插件列表)对于非超级管理员,您可以尝试以下操作:

    //限制对测试插件设置的访问并对非超级管理员用户隐藏该设置的功能函数restrict_and_hide_test_plugin($plugins){//检查当前用户是否不是超级管理员如果(!is_super_admin()){//删除插件的菜单项删除菜单页面(“测试插件”);//您也可以选择隐藏插件的设置子菜单remove_submenu_page(“测试插件”,“测试插件设置”);//检查测试插件是否在插件列表中if(isset($plugins['test-plugin/test-plugin.php')){//从列表中删除测试插件unset($plugins['test-plugin/test-plugin.php']);}}返回$plugins;}add_action('admin_menu','restrict_and_hide_test_plugin');add_filter('all_plugins','restrict_and_hide_test_plugin');

    再次提醒,记住更换测试插件使用正确的插件slug。

    螺纹起动器 tipsyhues公司

    (@tipsyhues)

    那一个对我不起作用(我可能没有更换正确的slug,不确定),但我确实找到了一个更简单的功能插件解决方案。它允许您编辑或创建用户规则,并指定他们有权访问的内容。

    呜呜声

    (@thewoosh)

    我使用Adminimize插件来限制不同用户/角色的管理菜单https://en-gb.wordpress.org/plugins/adminimize(英文)/不确定这是不是你的答案

查看5个回复-1到5个(共5个)