問題描述
我有一個非常具體的要求,根據當前用户的角色在用户配置文件頁面上的字段標籤中顯示不同的文本。我似乎無法弄清楚如何檢查當前使用的是否是”author” 。
我正在尋找一個像
is_user_in_role($user, "author");
我想象這很簡單,但是我沒有找到答案,所以我以為我會在這裏發貼。
最佳解決方案
如果您只需要當前用户 current_user_can()接受角色和功能。
更新:將角色名稱傳遞給 current_user_can()不再能保證正常工作 (請參閲 #22624) 。相反,您可能希望檢查用户角色:
$user = wp_get_current_user();
if ( in_array( 'author', (array) $user->roles ) ) {
//The user has the "author" role
}
次佳解決方案
我正在尋找一種方法來獲取用户的角色使用用户的身份。這是我想出來的:
function get_user_roles_by_user_id( $user_id ) {
$user = get_userdata( $user_id );
return empty( $user ) ? array() : $user->roles;
}
然後,is_user_in_role()功能可以這樣實現:
function is_user_in_role( $user_id, $role ) {
return in_array( $role, get_user_roles_by_user_id( $user_id ) );
}
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。