user_has_cap WordPress Filter Hook
The user_has_cap hook is used to check if a user has a certain capability. If the user does not have the capability, they will not be able to perform the action.
apply_filters( 'user_has_cap',  bool[] $allcaps ,  string[] $caps ,  array $args ,  WP_User $user  ) #
Dynamically filter a user’s capabilities.
Parameters
- $allcaps
- (bool[])Array of key/value pairs where keys represent a capability name and boolean values represent whether the user has that capability. 
- $caps
- (string[])Required primitive capabilities for the requested capability. 
- $args
- (array)Arguments that accompany the requested capability check. - (string) Requested capability.
- '1'
 (int) Concerned user ID.
- '...$2'
 (mixed) Optional second and further parameters, typically object ID.
 
- $user
- (WP_User)The user object. 
More Information
Passing in a numeric value to WP_User::has_cap() object has been deprecated. Passing a numeric value will generate a deprecated option warning if debugging mode is enabled via wp_config.php:
Usage of user levels by plugins and themes is deprecated. Use roles and capabilities instead.
This will occur if a plugin or a theme calls has_cap directly. The plugin or theme needs to be updated to use the new roles and capabilities classes.
Source
Changelog
| Version | Description | 
|---|---|
| 3.7.0 | Added the $userparameter. | 
| 2.0.0 | Introduced. |