The map_meta_cap
filter allows you to modify which primitive capabilities are mapped to which meta capabilities. That is to say, allow a specific user or users to have or not have a capability in a specific context.
It is evaluated in map_meta_cap()
in the wp-includes/capabilities.php file.
map_meta_cap
accepts 4 arguments:
- array
$caps
An array of primitive capabilities matched to the provided meta$cap
- string
$cap
The name of the meta capability to map to - int
$user_id
The current user’s id or a specified one - array
$args
An array of extra arguments for the meta capability. Sometimes empty
Example:
Let’s say you only want to allow super admins to upload files in your Multisite installation (for some reason). The following returns do_not_allow
for any non-super admin on the upload_files
cap.
View the code example on Gist.