# _count_posts_cache_key()

URL: https://chugunov.pro/api-wordpress/functions/_count_posts_cache_key/
Проверено на WordPress 6.9, обновлено 06.08.2026.
Источник: независимый русскоязычный справочник chugunov.pro. Не является официальной документацией WordPress.

Тип: функция.
Появился в версии: 3.9.0.

## Сигнатура

```php
_count_posts_cache_key( string $type = 'post', string $perm = '' ): string
```

## Описание

Возвращает ключ кэша для wp_count_posts() на основе переданных аргументов.

## Параметры

- `$type` `string` — необязательный, по умолчанию `'post'`. Тип записи, для которого возвращается количество. Значение по умолчанию 'post'.
- `$perm` `string` — необязательный, по умолчанию `''`. 'readable' или пустое значение.

## Возвращаемое значение

`string`

## Исходный код

Файл: `wp-includes/post.php:3368`

```php
function _count_posts_cache_key( $type = 'post', $perm = '' ) {
	$cache_key = 'posts-' . $type;

	if ( 'readable' === $perm && is_user_logged_in() ) {
		$post_type_object = get_post_type_object( $type );

		if ( $post_type_object && ! current_user_can( $post_type_object->cap->read_private_posts ) ) {
			$cache_key .= '_' . $perm . '_' . get_current_user_id();
		}
	}

	return $cache_key;
}
```

## История изменений

- 3.9.0 — Introduced.

## Связанные

Использует: [`current_user_can`](https://chugunov.pro/api-wordpress/functions/current_user_can/), [`is_user_logged_in`](https://chugunov.pro/api-wordpress/functions/is_user_logged_in/), [`get_current_user_id`](https://chugunov.pro/api-wordpress/functions/get_current_user_id/), [`get_post_type_object`](https://chugunov.pro/api-wordpress/functions/get_post_type_object/).
Используется в: [`_transition_post_status`](https://chugunov.pro/api-wordpress/functions/_transition_post_status/), [`wp_count_posts`](https://chugunov.pro/api-wordpress/functions/wp_count_posts/).

Оригинал в официальной документации: https://developer.wordpress.org/reference/functions/_count_posts_cache_key/
