Contact Form 7 是有史以来最受欢迎的 WordPress 插件之一,安装量超过 500 万。如果仅安装了该插件, 而没有进行相关的辅助设置,就无法在 WordPress 后台查询客户提交的表单信息。
Flamingo 插件
而 Flamingo 是一个 Contact Form 7 的辅助插件,用于存储通过 Contact Form 7 提交表单消息。当用户在前端提交了表单后,就可以通过该插件进行查看和管理。Flamingo 也是由开发 Contact Form 7 的作者编写的。
设置访问 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);
}
- 在 WordPress 管理菜单中打开“Capabilities”插件。
- 在右侧 “Add Capabilities”框中输入“flamingo_permissions”。
- 点击“Add to role”。
通过上面的步骤,我们就成功的将“flamingo_permissions”权限,添加到了 Capabilities 的 Additional 里面。
- 如果要授予某用户角色访问 Flamingo 插件的权限,就可以进入“Additional ”中进行配置:
作者:牛奇网,本站文章均为辛苦原创,在此严正声明,本站内容严禁采集转载,面斥不雅请好自为之,本文网址:https://www.niuqi360.com/wordpress/control-permissions-for-the-flamingo/