| 393 | | if ( 'term_order' === $_orderby && empty( $this->query_vars['object_ids'] ) ) { |
| 394 | | $_orderby = 'term_id'; |
| | 392 | $_orderby_array = array(); |
| | 393 | |
| | 394 | if ( is_array( $_orderby ) ) { |
| | 395 | foreach ( $_orderby as $__orderby => $order ) { |
| | 396 | // 'term_order' is a legal sort order only when joining the relationship table. |
| | 397 | if ( 'term_order' === $__orderby && empty( $this->query_vars['object_ids'] ) ) { |
| | 398 | $__orderby = 'term_id'; |
| | 399 | } |
| | 400 | $__orderby = addslashes_gpc( urldecode( $__orderby ) ); |
| | 401 | $parsed = $this->parse_orderby( $__orderby ); |
| | 402 | |
| | 403 | $_orderby_array[] = $parsed . ' ' . $this->parse_order( $order ); |
| | 404 | } |
| | 405 | |
| | 406 | $_orderby = implode( ', ', $_orderby_array ); |
| | 407 | } else { |
| | 408 | $_orderby = addslashes_gpc( urldecode( $_orderby ) ); |
| | 409 | $order = $this->parse_order( $this->query_vars['order'] ); |
| | 410 | |
| | 411 | foreach ( explode( ' ', $_orderby ) as $i => $__orderby ) { |
| | 412 | // 'term_order' is a legal sort order only when joining the relationship table. |
| | 413 | if ( 'term_order' === $__orderby && empty( $this->query_vars['object_ids'] ) ) { |
| | 414 | $__orderby = 'term_id'; |
| | 415 | } |
| | 416 | $parsed = $this->parse_orderby( $__orderby ); |
| | 417 | // Only allow certain values for safety. |
| | 418 | if ( ! $parsed ) { |
| | 419 | continue; |
| | 420 | } |
| | 421 | |
| | 422 | $_orderby_array[] = $parsed . ' ' . $order; |
| | 423 | } |
| | 424 | $_orderby = implode( ', ', $_orderby_array ); |