WP_Term_Query::generate_cache_key()protectedWP 6.2.0

Generate cache key.

Метод класса: WP_Term_Query{}

Хуков нет.

Возвращает

Строку. Cache key.

Использование

// protected - в коде основоного (родительского) или дочернего класса
$result = $this->generate_cache_key( $args, $sql );
$args(массив) (обязательный)
WP_Term_Query arguments.
$sql(строка) (обязательный)
SQL statement.

Заметки

  • Global. wpdb. $wpdb WordPress database abstraction object.

Список изменений

С версии 6.2.0 Введена.

Код WP_Term_Query::generate_cache_key() WP 6.3.1

protected function generate_cache_key( array $args, $sql ) {
	global $wpdb;
	// $args can be anything. Only use the args defined in defaults to compute the key.
	$cache_args = wp_array_slice_assoc( $args, array_keys( $this->query_var_defaults ) );

	unset( $cache_args['update_term_meta_cache'] );

	if ( 'count' !== $args['fields'] && 'all_with_object_id' !== $args['fields'] ) {
		$cache_args['fields'] = 'all';
	}
	$taxonomies = (array) $args['taxonomy'];

	// Replace wpdb placeholder in the SQL statement used by the cache key.
	$sql = $wpdb->remove_placeholder_escape( $sql );

	$key          = md5( serialize( $cache_args ) . serialize( $taxonomies ) . $sql );
	$last_changed = wp_cache_get_last_changed( 'terms' );
	return "get_terms:$key:$last_changed";
}