使用 Capabilities 管理 Flamingo 插件的使用权限

Contact Form 7 是有史以来最受欢迎的 WordPress 插件之一,安装量超过 500 万。如果仅安装了该插件, 而没有进行相关的辅助设置,就无法在 WordPress 后台查询客户提交的表单信息。

Flamingo 插件

Flamingo 是一个 Contact Form 7 的辅助插件,用于存储通过 Contact Form 7 提交表单消息。当用户在前端提交了表单后,就可以通过该插件进行查看和管理。Flamingo 也是由开发 Contact Form 7 的作者编写的。

Flamingo 插件
Flamingo 插件

设置访问 Flamingo 权限

因为表单信息是公司的敏感数据,所以有必要仅对特定用户开放 Flamingo 的访问。我们可以通过使用 PublishPress Capabilities 插件来做到这一点。

  • 在您的 WordPress 站点中,单击管理菜单中的“功能”链接。
  • 在左上角的下拉列表中,选择您要编辑的用户角色。

如果希望某个用户角色有权访问 Flamingo,请确保选中“编辑用户”和“阅读”框。因为不具备这两种权限的用户角色都无法访问 Flamingo。

选中“编辑用户”和“阅读”框
选中“编辑用户”和“阅读”框

如果想对某些用户隐藏 Flamingo 数据,删除对应用户的“编辑用户”权限即可。这不会影响相应用户的大部分 WordPress 权限。但是,如果删除用户的“读取”权限,那么这些用户将被无法访问 WordPress 仪表盘。

自定义 Capabilities

如果查看 Flamingo 插件中的 capabilities.php 文件,便会看到所有 Flamingo 权限都映射到 edit_users 权限:

文件路径:

/includes/capabilities.php。
'flamingo_edit_contact' => 'edit_users',
'flamingo_edit_contacts' => 'edit_users',
'flamingo_delete_contact' => 'edit_users',
'flamingo_edit_inbound_message' => 'edit_users',
'flamingo_edit_inbound_messages' => 'edit_users',
'flamingo_delete_inbound_message' => 'edit_users',
'flamingo_delete_inbound_messages' => 'edit_users',
'flamingo_spam_inbound_message' => 'edit_users',
'flamingo_unspam_inbound_message' => 'edit_users',
'flamingo_edit_outbound_message' => 'edit_users',
'flamingo_edit_outbound_messages' => 'edit_users',
'flamingo_delete_outbound_message' => 'edit_users',

因为修改 edit_users 权限,不仅会影响到 Flamingo 插件,还会影响 WordPress 的其他功能。所以也可以自定义 Flamingo 权限,将下面代码添加到当前主题的 functions.php 文件中。

/* 
 * WordPress Flamingo plugin: capability customization
 *
 * Author: Kevin Behrens / publishpress.com
 */

add_filter('flamingo_map_meta_cap', 'my_flamingo_caps');

function my_flamingo_caps($caps) {
	// To customize for any capability, change 'edit_users' to another capability as desired:
	$new_caps = array(
		'flamingo_edit_contact' => 'flamingo_permissions',
		'flamingo_edit_contacts' => 'flamingo_permissions',
		'flamingo_delete_contact' => 'flamingo_permissions',
		'flamingo_edit_inbound_message' => 'flamingo_permissions',
		'flamingo_edit_inbound_messages' => 'flamingo_permissions',
		'flamingo_delete_inbound_message' => 'flamingo_permissions',
		'flamingo_delete_inbound_messages' => 'flamingo_permissions',
		'flamingo_spam_inbound_message' => 'flamingo_permissions',
		'flamingo_unspam_inbound_message' => 'flamingo_permissions',
		'flamingo_edit_outbound_message' => 'flamingo_permissions',
		'flamingo_edit_outbound_messages' => 'flamingo_permissions',
		'flamingo_delete_outbound_message' => 'flamingo_permissions',
	);

	return array_merge($caps, $new_caps);
}
自定义 Capabilities
自定义 Capabilities
  • 在 WordPress 管理菜单中打开“Capabilities”插件。
  • 在右侧 “Add Capabilities”框中输入“flamingo_permissions”。
  • 点击“Add to role”。

通过上面的步骤,我们就成功的将“flamingo_permissions”权限,添加到了 Capabilities 的 Additional 里面。

选择 Additional 选项
选择 Additional 选项
  • 如果要授予某用户角色访问 Flamingo 插件的权限,就可以进入“Additional ”中进行配置:
修改 Flamingo Permissions 权限
修改 Flamingo Permissions 权限

作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/wordpress/control-permissions-for-the-flamingo/

(0)
牛奇网牛奇网
上一篇 2022年3月20日 下午2:25
下一篇 2022年3月23日 上午9:20

发表回复

登录后才能评论