隐藏或禁用联系表单7以获取wordpress中的特定角色

时间:2016-03-18 09:08:44

标签: wordpress contact-form-7

我在我的wp站点中创建了一个自定义用户角色“faquser”。现在我想隐藏联系表单7菜单(或禁用)仅适用于此角色。我怎样才能做到这一点?我看到了这个:
http://contactform7.com/restricting-access-to-the-administration-panel/
但是,如果我这样做,那么联系表单仅适用于管理员而不适用于任何其他人。我也尝试过这样的事情:

remove_menu_page('admin.php?page=wpcf7');

这也没有删除菜单项。

2 个答案:

答案 0 :(得分:3)

我找到了解决方案:

remove_menu_page('wpcf7');

答案 1 :(得分:0)

为了正确执行此操作,您需要编写一个函数,该函数确定需要删除其菜单项的角色。

header('Access-Control-Allow-Origin: *');
header("Access-Control-Allow-Headers: X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Request-Method");
header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE");
header("Allow: GET, POST, OPTIONS, PUT, DELETE");
$method = $_SERVER['REQUEST_METHOD'];
if($method == "OPTIONS") {
    die();
}

这是执行完整任务的函数的示例。

remove_menu_page('wpcf7'); // This is the snippet that will remove the contact form 7 menu specifically.

您可以在此处获得WordPress中不同角色的功能的完整列表:https://wordpress.org/support/article/roles-and-capabilities/

我选择了“ publish_posts”,以便在author以下的所有用户类型以及不具备“ publish_posts”功能的用户都不会看到联系表单7菜单或注释或页面菜单项。

根据您为用户角色“ faquser”赋予的功能,将确定您需要为此功能调用哪些功能。