2014-05-21 112 views
0

我正在一个有学生监护人关系的网站上工作。因此,当监护人访问他的学生档案时,他应该能够编辑,删除用户本身可以执行的所有字段。我使用buddypress并使用了rtmedia插件。现在例如,学生上传媒体,图片。默认情况下,其他用户无法删除或编辑媒体。但就我而言,监护人应该能够编辑和删除学生媒体。我在想,如果我在分配管理员角色给监护人时,他正在查看学生档案,那么我的问题就可以解决。但我不知道如何分配用户的amdin角色。由于如何在WordPress中将管理员角色分配给用户?

+0

我更改了上传按钮的条件bp_displayed_user_id()== get_current_user_id()并将其修改为监护人。现在,当监护人查看学生个人资料时,上传按钮可见但不起作用。点击后,没有任何反应。然后,我复制并粘贴HTML进行编辑,删除和上传按钮。通过这样做,监护人可以编辑媒体,但是当监护人想要删除某些内容时,此消息显示为“Ooops !!!访问无效,没有发现任何乱码!!”。 – Riz

+0

现在,监护人可以编辑和删除媒体,但无法上传。 – Riz

回答

0

我会建议在WordPress抄本的用户管理屏幕上读了起来:

https://codex.wordpress.org/Users_Screen#Change_Roles_to

它说明了如何切换角色的现有用户,以及将角色分配给现有的:

https://codex.wordpress.org/Users_Add_New_Screen

+0

在此链接中,用户必须手动赋予角色。我需要在代码中使用此功能,以便当监护人只访问他的学生档案时,他应该能够编辑他的学生档案,并且如果他正在查看任何其他用户的档案,则不应该具有该权限。谢谢你的时间。 – Riz

0

你不想给他们一个管理作用

你想检查一个学生/监护人的关系,如果找到允许编辑访问。

要允许这样的访问,您必须执行各种操作,例如在BP中,过滤配置文件屏幕循环以允许编辑。

+0

感谢您的指导。你能告诉我如何过滤配置文件屏幕循环?你能告诉我一个代码吗?谢谢 – Riz

0

创建PHP文件的插件目录,并在http://code.tutsplus.com/articles/wordpress-roles-and-capabilities-the-basics--wp-25921

激活插件添加以下内容

<?php 
/* Plugin Name: Add role */ 
function add_roles() { 
$result = add_role(
    'admin', 
    __('Admin'), 
    array(
    'edit_posts' => true, // true allows this capability 
     'read'   => true, 
     'delete_posts' => false, // Use false to explicitly deny 
     ) 
); 
if ($result !== null) { 
    echo 'New role created'; 
} 
else { 
    echo 'Role already exists..'; 
} 

    } 
    register_activation_hook(__FILE__, 'add_roles'); 

以上更多功能,可以相应增加

更多的功能,并在用户分配管理检查角色

用于监护人角色分配功能以删除或编辑媒体。

对于监护人(在访问他的学生档案后编辑或删除用户本身可以执行的所有字段),通过编辑插件的功能分配管理员角色并分配与学生相同的功能。 然后重新激活插件后。

相关问题