Given matrix \( A \) is of order \( m \times n \), meaning it has \( m \) rows and \( n \) columns. For the matrix multiplication \( A^T B \) to be defined, the number of columns in \( A^T \) (which is \( m \)) must equal the number of rows in \( B \). Thus, \( B \) must have \( m \) rows. For the matrix multiplication \( B A^T \) to be defined, the number of columns in \( B \) must equal the number of rows in \( A^T \) (which is \( n \)). Thus, \( B \) must have \( n \) columns. Combining these conditions, the order of matrix \( B \) must be \( n \times m \). Therefore, the correct answer is \( \boxed{n \times m} \).