函数文档

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.

Return

WP_Role|null WP_Role object if found, null if the role does not exist.

Source

function get_role( $role ) {
	return wp_roles()->get_role( $role );
}

Changelog

Version Description
2.0.0 Introduced.

User Contributed Notes

  1. Skip to note 3 content

    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
    )

  2. Skip to note 4 content

    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
            )
    )