WP_REST_Themes_Controller::get_items_permissions_check()publicWP 5.0.0

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

Method of the class: WP_REST_Themes_Controller{}

No Hooks.

Return

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

Usage

$WP_REST_Themes_Controller = new WP_REST_Themes_Controller();
$WP_REST_Themes_Controller->get_items_permissions_check( $request );
$request(WP_REST_Request) (required)
Full details about the request.

Changelog

Since 5.0.0 Introduced.

WP_REST_Themes_Controller::get_items_permissions_check() code WP 6.4.3

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

	$registered = $this->get_collection_params();
	if ( isset( $registered['status'], $request['status'] ) && is_array( $request['status'] ) && array( 'active' ) === $request['status'] ) {
		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() )
	);
}