# wp_count_attachments()

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

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

## Сигнатура

```php
wp_count_attachments( string|string[] $mime_type = '' ): stdClass
```

## Описание

Если задать необязательный параметр mime_type, массив всё равно вернётся, но будет содержать только искомый элемент. Функция не сообщает количество вложений, являющихся дочерними для записи. Его можно узнать, подсчитав количество дочерних элементов записи.

## Параметры

- `$mime_type` `string|string[]` — необязательный, по умолчанию `''`. Массив или список MIME-шаблонов через запятую.

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

`stdClass`

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

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

```php
function wp_count_attachments( $mime_type = '' ) {
	global $wpdb;

	$cache_key = sprintf(
		'attachments%s',
		! empty( $mime_type ) ? ':' . str_replace( '/', '_', implode( '-', (array) $mime_type ) ) : ''
	);

	$counts = wp_cache_get( $cache_key, 'counts' );

	if ( false === $counts ) {
		$and   = wp_post_mime_type_where( $mime_type );
		$count = $wpdb->get_results( "SELECT post_mime_type, COUNT( * ) AS num_posts FROM $wpdb->posts WHERE post_type = 'attachment' AND post_status != 'trash' $and GROUP BY post_mime_type", ARRAY_A );

		$counts = array();
		foreach ( (array) $count as $row ) {
			$counts[ $row['post_mime_type'] ] = $row['num_posts'];
		}
		$counts['trash'] = $wpdb->get_var( "SELECT COUNT( * ) FROM $wpdb->posts WHERE post_type = 'attachment' AND post_status = 'trash' $and" );

		wp_cache_set( $cache_key, (object) $counts, 'counts' );
	}

	/**
	 * Filters the attachment counts by mime type.
	 *
	 * @since 3.7.0
	 *
	 * @param stdClass        $counts    An object containing the attachment counts by
	 *                                   mime type.
	 * @param string|string[] $mime_type Array or comma-separated list of MIME patterns.
	 */
	return apply_filters( 'wp_count_attachments', (object) $counts, $mime_type );
}
```

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

- 2.5.0 — Introduced.

## Связанные

Использует: [`wp_cache_set`](https://chugunov.pro/api-wordpress/functions/wp_cache_set/), [`wp_post_mime_type_where`](https://chugunov.pro/api-wordpress/functions/wp_post_mime_type_where/), [`wp_cache_get`](https://chugunov.pro/api-wordpress/functions/wp_cache_get/), [`apply_filters`](https://chugunov.pro/api-wordpress/functions/apply_filters/), `wpdb::get_results`, `wpdb::get_var`.
Используется в: [`media_upload_library_form`](https://chugunov.pro/api-wordpress/functions/media_upload_library_form/).

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