我正在一个网站上工作,我想向客户展示产品的演示版本。 为此,他们可以使用访客帐户登录,我已创建此角色,如下所示
add_role('guest', __('Guest'), array('read'=> true));
当我以访客身份登录时,我会被重定向到并查看overview-page /admin.php?page=my_overview
,所以这确实有效,但当访客点击此概述中的任何项目时,我会收到一条消息: You无权访问此页面。
这些项目指的是:/profile.php /edit.php /users.php /admin.php
由于使用这些页面是我的产品功能的基本部分,我想授予访客帐户访问这些页面的权限,但不要让他们插入/更新/删除任何数据页。
我尝试添加多个不同的权限i.e. edit_posts, edit_private_posts, edit_private_pages, read_private_posts, read_private_pages
,但我无法让它正常工作。
我想在不使用任何插件的情况下使用特定权限实现此来宾帐户。基本上我想创建一个可以像作者一样做的用户,但我的演示站点上没有任何INSERTs/UPDATEs/DELETEs
到数据库
我不知道是否有可能,但任何帮助都会受到赞赏。
答案 0 :(得分:1)
我已经弄明白了,我只创建了一个角色,但我没有添加任何功能。 我缺少的代码将会像现在一样工作:
function add_capability() {
// gets the author role
$role = get_role( 'guest' );
// This only works, because it accesses the class instance.
$role->add_cap( 'edit_others_posts' );
$role->add_cap( 'read_post' );
$role->add_cap( 'edit_posts' );
}
add_action( 'admin_init', 'add_capability');