WP_User::get_role_caps() WordPress Method

The WP_User::get_role_caps() method is used to get an array of all the capabilities of a given role. The capabilities are stored in the database as an array of key => value pairs.

WP_User::get_role_caps() #

Retrieves all of the capabilities of the user’s roles, and merges them with individual user capabilities.


Description

All of the capabilities of the user’s roles are merged with the user’s individual capabilities. This means that the user can be denied specific capabilities that their role might have, but the user is specifically denied.


Top ↑

Return

(bool[]) Array of key/value pairs where keys represent a capability name and boolean values represent whether the user has that capability.


Top ↑

Source

File: wp-includes/class-wp-user.php

	public function get_role_caps() {
		$switch_site = false;
		if ( is_multisite() && get_current_blog_id() != $this->site_id ) {
			$switch_site = true;

			switch_to_blog( $this->site_id );
		}

		$wp_roles = wp_roles();

		// Filter out caps that are not role names and assign to $this->roles.
		if ( is_array( $this->caps ) ) {
			$this->roles = array_filter( array_keys( $this->caps ), array( $wp_roles, 'is_role' ) );
		}

		// Build $allcaps from role caps, overlay user's $caps.
		$this->allcaps = array();
		foreach ( (array) $this->roles as $role ) {
			$the_role      = $wp_roles->get_role( $role );
			$this->allcaps = array_merge( (array) $this->allcaps, (array) $the_role->capabilities );
		}
		$this->allcaps = array_merge( (array) $this->allcaps, (array) $this->caps );

		if ( $switch_site ) {
			restore_current_blog();
		}

		return $this->allcaps;
	}


Top ↑

Changelog

Changelog
VersionDescription
2.0.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by theĀ Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.