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. | 
    © 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
    https://developer.wordpress.org/reference/hooks/user_has_cap