# wp_count_terms()

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

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

## Сигнатура

```php
wp_count_terms( array|string $args = array(), array|string $deprecated = '' ): string|WP_Error
```

## Описание

$args по умолчанию равно «hide_empty», что может быть «hide_empty=true» или array(‘hide_empty’ => true).
{@internal Параметр $deprecated разбирается только для обратной совместимости.}

## Параметры

- `$args` `array|string` — необязательный, по умолчанию `array()`. Array or string of arguments. See [WP_Term_Query::__construct()](https://developer.wordpress.org/reference/classes/wp_term_query/__construct/) for information on accepted arguments.
- `$deprecated` `array|string` — необязательный, по умолчанию `''`. Массив аргументов при использовании устаревшего формата параметров функции.
  
  Если присутствует, этот параметр будет интерпретирован как $args, а первый параметр функции будет разобран как таксономия или массив таксономий.

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

`string|WP_Error` — WP_Error

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

Файл: `wp-includes/taxonomy.php:1950`

```php
function wp_count_terms( $args = array(), $deprecated = '' ) {
	$use_legacy_args = false;

	// Check whether function is used with legacy signature: `$taxonomy` and `$args`.
	if ( $args
		&& ( is_string( $args ) && taxonomy_exists( $args )
			|| is_array( $args ) && wp_is_numeric_array( $args ) )
	) {
		$use_legacy_args = true;
	}

	$defaults = array( 'hide_empty' => false );

	if ( $use_legacy_args ) {
		$defaults['taxonomy'] = $args;
		$args                 = $deprecated;
	}

	$args = wp_parse_args( $args, $defaults );

	// Backward compatibility.
	if ( isset( $args['ignore_empty'] ) ) {
		$args['hide_empty'] = $args['ignore_empty'];
		unset( $args['ignore_empty'] );
	}

	$args['fields'] = 'count';

	return get_terms( $args );
}
```

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

- 5.6.0 — Changed the function signature so that the $args array can be provided as the first parameter.
- 2.3.0 — Introduced.

## Связанные

Использует: [`wp_is_numeric_array`](https://chugunov.pro/api-wordpress/functions/wp_is_numeric_array/), [`get_terms`](https://chugunov.pro/api-wordpress/functions/get_terms/), [`taxonomy_exists`](https://chugunov.pro/api-wordpress/functions/taxonomy_exists/), [`wp_parse_args`](https://chugunov.pro/api-wordpress/functions/wp_parse_args/).
Используется в: `WP_REST_Term_Search_Handler::search_items`, `WP_Sitemaps_Taxonomies::get_max_num_pages`, `WP_REST_Terms_Controller::get_items`, `WP_Terms_List_Table::prepare_items`, [`wp_nav_menu_item_taxonomy_meta_box`](https://chugunov.pro/api-wordpress/functions/wp_nav_menu_item_taxonomy_meta_box/).

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