2014-05-21 152 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'); 

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

更多的功能,並在用戶分配管理檢查角色

用於監護人角色分配功能以刪除或編輯媒體。

對於監護人(在訪問他的學生檔案後編輯或刪除用戶本身可以執行的所有字段),通過編輯插件的功能分配管理員角色並分配與學生相同的功能。 然後重新激活插件後。

相關問題