Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
WordPress-自定义用户角色-授予来宾对edit.php的访问权限,无需插入/更新/删除_Php_Database_Wordpress_Permissions_Roles - Fatal编程技术网

WordPress-自定义用户角色-授予来宾对edit.php的访问权限,无需插入/更新/删除

WordPress-自定义用户角色-授予来宾对edit.php的访问权限,无需插入/更新/删除,php,database,wordpress,permissions,roles,Php,Database,Wordpress,Permissions,Roles,我在一个网站上工作,我想向客户展示产品的演示版。 为了做到这一点,他们可以使用来宾帐户登录,我创建了这个角色,如下所示 add_role('guest', __('Guest'), array('read'=> true)); 当我以访客身份登录时,我会被重定向到并看到概览页面/admin.php?page=my_overview,因此这确实有效,但当访客单击此概览中的任何项目时,我会收到一条消息,说:您没有访问此页面的权限 这些项目指的是像:/profile.php/edit.php/

我在一个网站上工作,我想向客户展示产品的演示版。 为了做到这一点,他们可以使用来宾帐户登录,我创建了这个角色,如下所示

add_role('guest', __('Guest'), array('read'=> true));
当我以访客身份登录时,我会被重定向到并看到概览页面/admin.php?page=my_overview,因此这确实有效,但当访客单击此概览中的任何项目时,我会收到一条消息,说:您没有访问此页面的权限

这些项目指的是像:/profile.php/edit.php/users.php/admin.php这样的页面 由于使用这些页面是我的产品功能的一个基本部分,我想授予来宾帐户访问这些页面的权限,但不允许他们插入/更新/删除这些页面上显示的任何数据

我尝试过添加多种不同的权限,即编辑帖子、编辑私人帖子、编辑私人页面、阅读私人帖子、阅读私人页面,但我无法使其正常工作

我想实现这个没有任何插件使用特定权限的客户帐户。基本上,我想创建一个用户,该用户可以与作者做相同的事情,但不需要在我的演示站点上对数据库进行任何插入/更新/删除


我不知道这是否可能,但如果有任何帮助,我将不胜感激。

我已经明白了,我只是创建了一个角色,但没有为其添加任何功能。 我丢失的代码将是这样的,它现在正在工作:

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');

添加角色后,您可以使用:pluginI更喜欢不使用插件,我想我现在已经明白了,谢谢