# clean_dirsize_cache()

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

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

## Сигнатура

```php
clean_dirsize_cache( string $path )
```

## Описание

Удаляет текущий каталог и все родительские каталоги из транзиента dirsize_cache.

## Параметры

- `$path` `string` — обязательный. Полный путь к каталогу или файлу.

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

Файл: `wp-includes/functions.php:8926`

```php
function clean_dirsize_cache( $path ) {
	if ( ! is_string( $path ) || empty( $path ) ) {
		wp_trigger_error(
			'',
			sprintf(
				/* translators: 1: Function name, 2: A variable type, like "boolean" or "integer". */
				__( '%1$s only accepts a non-empty path string, received %2$s.' ),
				'<code>clean_dirsize_cache()</code>',
				'<code>' . gettype( $path ) . '</code>'
			)
		);
		return;
	}

	$directory_cache = get_transient( 'dirsize_cache' );

	if ( empty( $directory_cache ) ) {
		return;
	}

	$expiration = ( wp_using_ext_object_cache() ) ? 0 : 10 * YEAR_IN_SECONDS;
	if (
		! str_contains( $path, '/' ) &&
		! str_contains( $path, '\\' )
	) {
		unset( $directory_cache[ $path ] );
		set_transient( 'dirsize_cache', $directory_cache, $expiration );
		return;
	}

	$last_path = null;
	$path      = untrailingslashit( $path );
	unset( $directory_cache[ $path ] );

	while (
		$last_path !== $path &&
		DIRECTORY_SEPARATOR !== $path &&
		'.' !== $path &&
		'..' !== $path
	) {
		$last_path = $path;
		$path      = dirname( $path );
		unset( $directory_cache[ $path ] );
	}

	set_transient( 'dirsize_cache', $directory_cache, $expiration );
}
```

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

- 5.9.0 — Added input validation with a notice for invalid input.
- 5.6.0 — Introduced.

## Связанные

Использует: [`wp_trigger_error`](https://chugunov.pro/api-wordpress/functions/wp_trigger_error/), [`untrailingslashit`](https://chugunov.pro/api-wordpress/functions/untrailingslashit/), [`wp_using_ext_object_cache`](https://chugunov.pro/api-wordpress/functions/wp_using_ext_object_cache/), [`get_transient`](https://chugunov.pro/api-wordpress/functions/get_transient/), [`set_transient`](https://chugunov.pro/api-wordpress/functions/set_transient/), [`__`](https://chugunov.pro/api-wordpress/functions/__/).
Используется в: [`_wp_handle_upload`](https://chugunov.pro/api-wordpress/functions/_wp_handle_upload/), [`wp_upload_bits`](https://chugunov.pro/api-wordpress/functions/wp_upload_bits/), [`wp_delete_attachment`](https://chugunov.pro/api-wordpress/functions/wp_delete_attachment/).

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