current_user_can() WordPress Function

The current_user_can() function is a Wordpress function that allows you to check if the current user has a certain capability. This is useful for making sure that only certain users can access certain features of your site.

current_user_can( string $capability, mixed $args ) #

Returns whether the current user has the specified capability.


Description

This function also accepts an ID of an object to check against if the capability is a meta capability. Meta capabilities such as edit_post and edit_user are capabilities used by the map_meta_cap() function to map to primitive capabilities that a user or role has, such as edit_posts and edit_others_posts.

Example usage:

current_user_can( 'edit_posts' );
current_user_can( 'edit_post', $post->ID );
current_user_can( 'edit_post_meta', $post->ID, $meta_key );

While checking against particular roles in place of a capability is supported in part, this practice is discouraged as it may produce unreliable results.

Note: Will always return true if the current user is a super admin, unless specifically denied.

Top ↑

See also


Top ↑

Parameters

$capability

(string)(Required)Capability name.

$args

(mixed)(Optional)further parameters, typically starting with an object ID.


Top ↑

Return

(bool) Whether the current user has the given capability. If $capability is a meta cap and $object_id is passed, whether the current user has the given meta capability for the given object.


Top ↑

Source

File: wp-includes/capabilities.php

function current_user_can( $capability, ...$args ) {
	return user_can( wp_get_current_user(), $capability, ...$args );
}


Top ↑

Changelog

Changelog
VersionDescription
5.8.0Converted to wrapper for the user_can() function.
5.3.0Formalized the existing and already documented ...$args parameter by adding it to the function signature.
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.