Automattic\WooCommerce\Internal\DataStores\Orders

HposOrderCapabilityHelper::map_read_order_capsprivateWC 1.0

Map read capabilities for an HPOS order without a real order post.

Method of the class: HposOrderCapabilityHelper{}

No Hooks.

Returns

String[]. Required primitive capabilities.

Usage

// private - for code of main (parent) class only
$result = $this->map_read_order_caps( $order, $order_type_ob, $user_id, ?WP_Post $post ): array;
$order(WC_Abstract_Order) (required)
Order object.
$order_type_ob(WP_Post_Type) (required)
Order post type object.
$user_id(int) (required)
User ID.
?WP_Post $post(required)
.

HposOrderCapabilityHelper::map_read_order_caps() code WC 11.0.0

private function map_read_order_caps( WC_Abstract_Order $order, WP_Post_Type $order_type_ob, int $user_id, ?WP_Post $post ): array {
	$status_obj = get_post_status_object( $this->get_wp_status_for_order( $order ) );
	if ( ! $status_obj ) {
		return array( $order_type_ob->cap->edit_others_posts );
	}

	if ( $status_obj->public || $user_id === $this->get_author_id( $post ) ) {
		return array( $order_type_ob->cap->read );
	}

	if ( $status_obj->private ) {
		return array( $order_type_ob->cap->read_private_posts );
	}

	return $this->map_edit_order_caps( $order, $order_type_ob, $user_id, $post );
}