WP_User_Query::generate_cache_key()
Generate cache key.
Метод класса: WP_User_Query{}
Хуков нет.
Возвращает
Строку
. Cache key.
Использование
// protected - в коде основоного (родительского) или дочернего класса $result = $this->generate_cache_key( $args, $sql );
- $args(массив) (обязательный)
- Query arguments.
- $sql(строка) (обязательный)
- SQL statement.
Заметки
- Global. wpdb. $wpdb WordPress database abstraction object.
Список изменений
С версии 6.3.0 | Введена. |
Код WP_User_Query::generate_cache_key() WP User Query::generate cache key WP 6.3.1
protected function generate_cache_key( array $args, $sql ) { global $wpdb; // Replace wpdb placeholder in the SQL statement used by the cache key. $sql = $wpdb->remove_placeholder_escape( $sql ); $key = md5( $sql ); $last_changed = wp_cache_get_last_changed( 'users' ); if ( empty( $args['orderby'] ) ) { // Default order is by 'user_login'. $ordersby = array( 'user_login' => '' ); } elseif ( is_array( $args['orderby'] ) ) { $ordersby = $args['orderby']; } else { // 'orderby' values may be a comma- or space-separated list. $ordersby = preg_split( '/[,\s]+/', $args['orderby'] ); } $blog_id = 0; if ( isset( $args['blog_id'] ) ) { $blog_id = absint( $args['blog_id'] ); } if ( $args['has_published_posts'] || in_array( 'post_count', $ordersby, true ) ) { $switch = $blog_id && get_current_blog_id() !== $blog_id; if ( $switch ) { switch_to_blog( $blog_id ); } $last_changed .= wp_cache_get_last_changed( 'posts' ); if ( $switch ) { restore_current_blog(); } } return "get_users:$key:$last_changed"; }