Automattic\WooCommerce\Internal\Orders

OrderStatusRestController::get_items()publicWC 1.0

Get all order statuses.

Метод класса: OrderStatusRestController{}

Хуков нет.

Возвращает

WP_Error|WP_REST_Response.

Использование

$OrderStatusRestController = new OrderStatusRestController();
$OrderStatusRestController->get_items( $request );
$request(WP_REST_Request) (обязательный)
Full details about the request.

Код OrderStatusRestController::get_items() WC 9.6.1

public function get_items( WP_REST_Request $request ) {
	$order_statuses     = wc_get_order_statuses();
	$formatted_statuses = array();

	foreach ( $order_statuses as $status_slug => $status_name ) {
		$slug = str_replace( 'wc-', '', $status_slug );

		$formatted_statuses[] = array(
			'slug' => $slug,
			'name' => wc_get_order_status_name( $slug ),
		);
	}

	if ( ! $formatted_statuses ) {
		return new WP_Error( 'woocommerce_rest_not_found', __( 'Order statuses not found', 'woocommerce' ), array( 'status' => 404 ) );
	}

	return rest_ensure_response( $formatted_statuses );
}