WC_REST_Terms_Controller::check_permissions()protectedWC 1.0

Check permissions.

Method of the class: WC_REST_Terms_Controller{}

No Hooks.

Return

true|false|WP_Error.

Usage

// protected - for code of main (parent) or child class
$result = $this->check_permissions( $request, $context );
$request(WP_REST_Request) (required)
Full details about the request.
$context(string)
Request context.
Default: 'read'

WC_REST_Terms_Controller::check_permissions() code WC 8.7.0

protected function check_permissions( $request, $context = 'read' ) {
	// Get taxonomy.
	$taxonomy = $this->get_taxonomy( $request );
	if ( ! $taxonomy || ! taxonomy_exists( $taxonomy ) ) {
		return new WP_Error( 'woocommerce_rest_taxonomy_invalid', __( 'Taxonomy does not exist.', 'woocommerce' ), array( 'status' => 404 ) );
	}

	// Check permissions for a single term.
	$id = intval( $request['id'] );
	if ( $id ) {
		$term = get_term( $id, $taxonomy );

		if ( is_wp_error( $term ) || ! $term || $term->taxonomy !== $taxonomy ) {
			return new WP_Error( 'woocommerce_rest_term_invalid', __( 'Resource does not exist.', 'woocommerce' ), array( 'status' => 404 ) );
		}

		return wc_rest_check_product_term_permissions( $taxonomy, $context, $term->term_id );
	}

	return wc_rest_check_product_term_permissions( $taxonomy, $context );
}