WP_REST_Themes_Controller::get_item_permissions_check( WP_REST_Request $request ): true|WP_Error

In this article

Checks if a given request has access to read the theme.

Parameters

$requestWP_REST_Requestrequired
Full details about the request.

Return

true|WP_Error True if the request has read access for the item, otherwise WP_Error object.

Source

public function get_item_permissions_check( $request ) {
	if ( current_user_can( 'switch_themes' ) || current_user_can( 'manage_network_themes' ) ) {
		return true;
	}

	$wp_theme      = wp_get_theme( $request['stylesheet'] );
	$current_theme = wp_get_theme();

	if ( $this->is_same_theme( $wp_theme, $current_theme ) ) {
		return $this->check_read_active_theme_permission();
	}

	return new WP_Error(
		'rest_cannot_view_themes',
		__( 'Sorry, you are not allowed to view themes.' ),
		array( 'status' => rest_authorization_required_code() )
	);
}

Changelog

VersionDescription
5.7.0Introduced.

User Contributed Notes

You must log in before being able to contribute a note or feedback.