[ Index ] |
PHP Cross Reference of WordPress |
[Summary view] [Print] [Text view]
1 <?php 2 /** 3 * User API: WP_Role class 4 * 5 * @package WordPress 6 * @subpackage Users 7 * @since 4.4.0 8 */ 9 10 /** 11 * Core class used to extend the user roles API. 12 * 13 * @since 2.0.0 14 */ 15 class WP_Role { 16 /** 17 * Role name. 18 * 19 * @since 2.0.0 20 * @var string 21 */ 22 public $name; 23 24 /** 25 * List of capabilities the role contains. 26 * 27 * @since 2.0.0 28 * @var bool[] Array of key/value pairs where keys represent a capability name and boolean values 29 * represent whether the role has that capability. 30 */ 31 public $capabilities; 32 33 /** 34 * Constructor - Set up object properties. 35 * 36 * The list of capabilities must have the key as the name of the capability 37 * and the value a boolean of whether it is granted to the role. 38 * 39 * @since 2.0.0 40 * 41 * @param string $role Role name. 42 * @param bool[] $capabilities Array of key/value pairs where keys represent a capability name and boolean values 43 * represent whether the role has that capability. 44 */ 45 public function __construct( $role, $capabilities ) { 46 $this->name = $role; 47 $this->capabilities = $capabilities; 48 } 49 50 /** 51 * Assign role a capability. 52 * 53 * @since 2.0.0 54 * 55 * @param string $cap Capability name. 56 * @param bool $grant Whether role has capability privilege. 57 */ 58 public function add_cap( $cap, $grant = true ) { 59 $this->capabilities[ $cap ] = $grant; 60 wp_roles()->add_cap( $this->name, $cap, $grant ); 61 } 62 63 /** 64 * Removes a capability from a role. 65 * 66 * @since 2.0.0 67 * 68 * @param string $cap Capability name. 69 */ 70 public function remove_cap( $cap ) { 71 unset( $this->capabilities[ $cap ] ); 72 wp_roles()->remove_cap( $this->name, $cap ); 73 } 74 75 /** 76 * Determines whether the role has the given capability. 77 * 78 * @since 2.0.0 79 * 80 * @param string $cap Capability name. 81 * @return bool Whether the role has the given capability. 82 */ 83 public function has_cap( $cap ) { 84 /** 85 * Filters which capabilities a role has. 86 * 87 * @since 2.0.0 88 * 89 * @param bool[] $capabilities Array of key/value pairs where keys represent a capability name and boolean values 90 * represent whether the role has that capability. 91 * @param string $cap Capability name. 92 * @param string $name Role name. 93 */ 94 $capabilities = apply_filters( 'role_has_cap', $this->capabilities, $cap, $this->name ); 95 96 if ( ! empty( $capabilities[ $cap ] ) ) { 97 return $capabilities[ $cap ]; 98 } else { 99 return false; 100 } 101 } 102 103 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Thu Nov 21 01:00:03 2024 | Cross-referenced by PHPXref 0.7.1 |