WP_REST_Themes_Controller::get_item_permissions_check( WP_REST_Request $request )

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

Parameters

$request

(WP_REST_Request) (Required) Full details about the request.

Return

(bool|WP_Error) True if the request has read access for the item, otherwise WP_Error object.

Source

File: wp-includes/rest-api/endpoints/class-wp-rest-themes-controller.php

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

Version Description
5.7.0 Introduced.

© 2003–2021 WordPress Foundation
Licensed under the GNU GPLv2+ License.
https://developer.wordpress.org/reference/classes/wp_rest_themes_controller/get_item_permissions_check