current_user_can_for_blog() WordPress Function

The current_user_can_for_blog() function allows a user to check if they have a certain capability on a given blog.

current_user_can_for_blog( int $blog_id, string $capability, mixed $args ) #

Returns whether the current user has the specified capability for a given site.


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_for_blog( $blog_id, 'edit_posts' );
current_user_can_for_blog( $blog_id, 'edit_post', $post->ID );
current_user_can_for_blog( $blog_id, 'edit_post_meta', $post->ID, $meta_key );

Top ↑

Parameters

$blog_id

(int)(Required)Site ID.

$capability

(string)(Required)Capability name.

$args

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


Top ↑

Return

(bool) Whether the user has the given capability.


Top ↑

Source

File: wp-includes/capabilities.php

function current_user_can_for_blog( $blog_id, $capability, ...$args ) {
	$switched = is_multisite() ? switch_to_blog( $blog_id ) : false;

	$can = current_user_can( $capability, ...$args );

	if ( $switched ) {
		restore_current_blog();
	}

	return $can;
}


Top ↑

Changelog

Changelog
VersionDescription
5.8.0Wraps current_user_can() after switching to blog.
5.3.0Formalized the existing and already documented ...$args parameter by adding it to the function signature.
3.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.