get_role()
云策文档标注
概述
get_role() 函数用于根据角色名称检索对应的 WP_Role 对象。它接受一个必需参数,返回 WP_Role 对象或 null。
关键要点
- 参数:$role(字符串,必需),指定要检索的角色名称。
- 返回值:WP_Role 对象(如果找到)或 null(如果角色不存在)。
- 内部实现:调用 wp_roles()->get_role($role) 来获取角色对象。
- 相关函数:wp_roles() 用于获取全局 WP_Roles 实例,WP_Roles::get_role() 用于按名称检索角色。
- 用途:常用于获取角色权限信息,例如管理员角色的 capabilities 数组。
代码示例
// 检索管理员角色并获取其权限数组
$admin_role = get_role('administrator')->capabilities;
// 输出为包含权限键值对的数组注意事项
- 函数自 WordPress 2.0.0 版本引入。
- 返回的对象包含 name 和 capabilities 属性,其中 capabilities 是一个数组,表示该角色的所有权限。
- 如果角色不存在,函数返回 null,调用前应检查返回值以避免错误。
原文内容
Retrieves role object.
Parameters
$rolestringrequired-
Role name.
Source
function get_role( $role ) {
return wp_roles()->get_role( $role );
}
Changelog
| Version | Description |
|---|---|
| 2.0.0 | Introduced. |
Skip to note 3 content
Yogesh Chatrola
Retrieve Admin Role Capabilities.
$admin_role = get_role( 'administrator' )->capabilities; // OutPut Array ( [switch_themes] => 1 [edit_themes] => 1 [activate_plugins] => 1 [edit_plugins] => 1 [edit_users] => 1 [edit_files] => 1 [manage_options] => 1 [moderate_comments] => 1 [manage_categories] => 1 [manage_links] => 1 [upload_files] => 1 [import] => 1 [unfiltered_html] => 1 [edit_posts] => 1 [edit_others_posts] => 1 [edit_published_posts] => 1 [publish_posts] => 1 [edit_pages] => 1 [read] => 1 [level_10] => 1 [level_9] => 1 [level_8] => 1 [level_7] => 1 [level_6] => 1 [level_5] => 1 [level_4] => 1 [level_3] => 1 [level_2] => 1 [level_1] => 1 [level_0] => 1 [edit_others_pages] => 1 [edit_published_pages] => 1 [publish_pages] => 1 [delete_pages] => 1 [delete_others_pages] => 1 [delete_published_pages] => 1 [delete_posts] => 1 [delete_others_posts] => 1 [delete_published_posts] => 1 [delete_private_posts] => 1 [edit_private_posts] => 1 [read_private_posts] => 1 [delete_private_pages] => 1 [edit_private_pages] => 1 [read_private_pages] => 1 [delete_users] => 1 [create_users] => 1 [unfiltered_upload] => 1 [edit_dashboard] => 1 [update_plugins] => 1 [delete_plugins] => 1 [install_plugins] => 1 [update_themes] => 1 [install_themes] => 1 [update_core] => 1 [list_users] => 1 [remove_users] => 1 [promote_users] => 1 [edit_theme_options] => 1 [delete_themes] => 1 [export] => 1 [list_roles] => 1 [create_roles] => 1 [edit_roles] => 1 [delete_roles] => 1 [edit_role_menus] => 1 [edit_posts_role_permissions] => 1 [edit_pages_role_permissions] => 1 [edit_nav_menu_permissions] => 1 [edit_content_shortcodes] => 1 [delete_content_shortcodes] => 1 [edit_login_redirects] => 1 [delete_login_redirects] => 1 [bulk_edit_roles] => 1 [edit_widget_permissions] => 1 [edit_attachments] => 1 [delete_attachments] => 1 [read_others_attachments] => 1 [edit_others_attachments] => 1 [delete_others_attachments] => 1 [edit_users_higher_level] => 1 [delete_users_higher_level] => 1 [promote_users_higher_level] => 1 [promote_users_to_higher_level] => 1 [manage_capabilities] => 1 )Skip to note 4 content
Jeroen Rotty
Sample Returned Object
WP_Role Object ( [name] => administrator [capabilities] => Array ( [switch_themes] => 1 [edit_themes] => 1 [activate_plugins] => 1 [edit_plugins] => 1 [edit_users] => 1 [edit_files] => 1 [manage_options] => 1 [moderate_comments] => 1 [manage_categories] => 1 [manage_links] => 1 [upload_files] => 1 [import] => 1 [unfiltered_html] => 1 [edit_posts] => 1 [edit_others_posts] => 1 [edit_published_posts] => 1 [publish_posts] => 1 [edit_pages] => 1 [read] => 1 [level_10] => 1 [level_9] => 1 [level_8] => 1 [level_7] => 1 [level_6] => 1 [level_5] => 1 [level_4] => 1 [level_3] => 1 [level_2] => 1 [level_1] => 1 [level_0] => 1 [edit_others_pages] => 1 [edit_published_pages] => 1 [publish_pages] => 1 [delete_pages] => 1 [delete_others_pages] => 1 [delete_published_pages] => 1 [delete_posts] => 1 [delete_others_posts] => 1 [delete_published_posts] => 1 [delete_private_posts] => 1 [edit_private_posts] => 1 [read_private_posts] => 1 [delete_private_pages] => 1 [edit_private_pages] => 1 [read_private_pages] => 1 [delete_users] => 1 [create_users] => 1 [unfiltered_upload] => 1 [edit_dashboard] => 1 [update_plugins] => 1 [delete_plugins] => 1 [install_plugins] => 1 [update_themes] => 1 [install_themes] => 1 [update_core] => 1 [list_users] => 1 [remove_users] => 1 [add_users] => 1 [promote_users] => 1 [edit_theme_options] => 1 [delete_themes] => 1 [export] => 1 [edit_comment] => 1 [approve_comment] => 1 [unapprove_comment] => 1 [reply_comment] => 1 [quick_edit_comment] => 1 [spam_comment] => 1 [unspam_comment] => 1 [trash_comment] => 1 [untrash_comment] => 1 [delete_comment] => 1 [edit_permalink] => 1 ) )