WP_Network_Query::parse_orderby()
Parses and sanitizes 'orderby' keys passed to the network query.
Метод класса: WP_Network_Query{}
Хуков нет.
Возвращает
Строку|false
. Value to used in the ORDER clause. False otherwise.
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->parse_orderby( $orderby );
- $orderby(строка) (обязательный)
- Alias for the field to order by.
Заметки
- Global. wpdb. $wpdb WordPress database abstraction object.
Список изменений
С версии 4.6.0 | Введена. |
Код WP_Network_Query::parse_orderby() WP Network Query::parse orderby WP 6.7.1
protected function parse_orderby( $orderby ) { global $wpdb; $allowed_keys = array( 'id', 'domain', 'path', ); $parsed = false; if ( 'network__in' === $orderby ) { $network__in = implode( ',', array_map( 'absint', $this->query_vars['network__in'] ) ); $parsed = "FIELD( {$wpdb->site}.id, $network__in )"; } elseif ( 'domain_length' === $orderby || 'path_length' === $orderby ) { $field = substr( $orderby, 0, -7 ); $parsed = "CHAR_LENGTH($wpdb->site.$field)"; } elseif ( in_array( $orderby, $allowed_keys, true ) ) { $parsed = "$wpdb->site.$orderby"; } return $parsed; }