Wordpress允许非管理员用户访问插件内容的用户权限

Wordpress允许非管理员用户访问插件内容的用户权限,wordpress,permissions,user-permissions,Wordpress,Permissions,User Permissions,我需要让非管理员用户访问wordpress插件(WP预订系统)的内容,我希望用户能够访问插件内容,但不给他完全的管理员访问权限 我尝试了一些用户权限管理插件,但找不到赋予角色的正确权限。我认为这是可能的,因为有了“编辑”角色,我可以让一个用户访问“联系人表单7”插件 你有工具吗?或者我需要编辑插件 非常感谢您的帮助WP Booking System,如果您使用的是最新版本(2.0.11,旧版本无法识别),它支持对访问插件管理页面所需的功能名称进行筛选。您只需添加一个筛选器即可修改所需的功能名称,

我需要让非管理员用户访问wordpress插件(WP预订系统)的内容,我希望用户能够访问插件内容,但不给他完全的管理员访问权限

我尝试了一些用户权限管理插件,但找不到赋予角色的正确权限。我认为这是可能的,因为有了“编辑”角色,我可以让一个用户访问“联系人表单7”插件

你有工具吗?或者我需要编辑插件


非常感谢您的帮助

WP Booking System,如果您使用的是最新版本(2.0.11,旧版本无法识别),它支持对访问插件管理页面所需的功能名称进行筛选。您只需添加一个筛选器即可修改所需的功能名称,以访问此特定的管理页面:

add_filter('wpbs_menu_page_capability', 'change_wpbs_menu_capability', 10, 1);
function change_wpbs_menu_capability( $cap ) {
  $capability_name = 'my_wpbs_capability_name'; // <- change this name to whatever you like
  return $capability_name;
}
确保在类定义之后调用
hooks
函数(或您命名的任何函数)。
使这些方法成为静态的并不是唯一的方法,但在这种情况下更为一致。如果您要创建一个以上的
MyPluginClass
实例,只需注册一个筛选方法(而不是为每个实例添加一个筛选-在这种情况下,这是无用的)。

您好,非常感谢您的回答,这已经非常有用:)我可以在wordpress的侧栏中看到WP预订菜单,但是我无法访问插件内容。我试着把代码放在不同的地方,看起来不错,但我想我错过了一些东西。这里有一个google word文档来显示屏幕截图:简而言之,我试图将代码放在我在代码中找到的“添加过滤器”部分旁边;在代码的“能力”部分旁边。不确定现在要尝试什么..我编辑了上面的帖子-希望这能回答您的所有问题。如果我坚持您提出的第一个解决方案,您应该在哪里添加代码以使其工作?即使我对代码的构造有一点了解,我也不太了解PHP。当你说“这是因为我认为你尝试使用一个类方法”时,我并不是故意这么做的(实际上:)关于名为“wilfried”的功能,它确实是角色“editor”中提供给用户的一个功能(我在google文档中添加了它的屏幕截图)我问过一位比我更精通PHP的朋友,如果代码实现正确,我们仍然可以得到“不可能收费的WP预订系统”,尽管在wordpress中有“WP预订”菜单。也许代码只是为了访问菜单而不是插件内容?这里是我们尝试的新更新和角色设置。如果您看到了解决方案,则表示感谢,但已经表示感谢:)
class MyPluginClass {
  // ...

  // make this function static:
  public static function change_wpbs_menu_capability( $cap ) {
    $capability_name = 'my_wpbs_capability_name'; // <- change this name to whatever you like
    return $capability_name;
  }

  // this also has to be static:
  public static function hooks() {
    // the function reference must be an array of class, method name:
    add_filter('wpbs_menu_page_capability', [self::class, 'change_wpbs_menu_capability'], 10, 1);    
  }
}

// call the static hooks method to register your filter:
MyPluginClass::hooks();