1
我需要在Wordpress中動態授予用戶特定角色(編輯者,管理員等)及其所有功能,但我不想更新他們在數據庫中的角色(以便他們下次來回來後,他們會有他們原來的角色)。我怎麼能這樣做呢?我可以在Wordpress中臨時更改用戶的角色嗎?
我需要在Wordpress中動態授予用戶特定角色(編輯者,管理員等)及其所有功能,但我不想更新他們在數據庫中的角色(以便他們下次來回來後,他們會有他們原來的角色)。我怎麼能這樣做呢?我可以在Wordpress中臨時更改用戶的角色嗎?
這裏是我落得這樣做:
add_filter('user_has_cap', 'override_caps');
function override_caps($allcaps){
if(...){ // When to override caps
$role_name = 'administrator';
$role = get_role($role_name); // Get the role object by role name
$allcaps = $role->capabilities; // Get the capabilities for the role
$allcaps[$role_name] = true; // Add role name to capabilities
}
return $allcaps;
}
http://wordpress.stackexchange.com/questions/53230/temporary-capability-for-current-user-can – berentrom
這是正確的一步方向,但我必須手動覆蓋所有的功能嗎?我可以輕鬆地使用此功能返回給定角色的所有功能嗎?例如,如果我想將用戶的功能設置爲編輯器的功能,是否必須手動設置與編輯器相關的所有功能? – Matt