функция
since 5.6.0
clean_dirsize_cache()
Проверено на WordPress 6.9, обновлено Источник: WordPress Developer Resources.
Сигнатура
clean_dirsize_cache( string $path )
Описание
Удаляет текущий каталог и все родительские каталоги из транзиента dirsize_cache.
Оригинал (английский)
Removes the current directory and all parent directories from the dirsize_cache transient.
Параметры
$path
string
обязательный
Полный путь к каталогу или файлу.
Исходный код
wp-includes/functions.php:8926
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. |

