order_id() ); if ( ! $order || ! method_exists( $order, 'update_meta_data' ) || ! method_exists( $order, 'save' ) ) { return false; } $order->update_meta_data( self::META_KEY, $projection->state() ); $order->save(); return true; } public function get( int $order_id ): ?OrderComplianceProjection { if ( ! function_exists( 'wc_get_order' ) ) { return null; } $order = wc_get_order( $order_id ); if ( ! $order || ! method_exists( $order, 'get_meta' ) ) { return null; } $state = $order->get_meta( self::META_KEY, true ); return is_array( $state ) ? new OrderComplianceProjection( $order_id, $state ) : null; } }