# _deprecated_class()

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

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

## Сигнатура

```php
_deprecated_class( string $class_name, string $version, string $replacement = '' )
```

## Описание

Вызывается хук 'deprecated_class_run', с помощью которого можно получить трассировку до того, какой файл и какая функция обратились к устаревшему классу.
Текущее поведение — генерировать пользовательскую ошибку, если WP_DEBUG равно true.
Эту функцию следует использовать в конструкторе каждого устаревшего класса.
См. _deprecated_constructor() для объявления устаревшими конструкторов в стиле PHP4.

## Параметры

- `$class_name` `string` — обязательный. Имя класса, экземпляр которого создаётся.
- `$version` `string` — обязательный. Версия WordPress, в которой класс стал устаревшим.
- `$replacement` `string` — необязательный, по умолчанию `''`. Класс или функция, которые следовало вызвать вместо этого.

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

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

```php
function _deprecated_class( $class_name, $version, $replacement = '' ) {

	/**
	 * Fires when a deprecated class is called.
	 *
	 * @since 6.4.0
	 *
	 * @param string $class_name  The name of the class being instantiated.
	 * @param string $replacement The class or function that should have been called.
	 * @param string $version     The version of WordPress that deprecated the class.
	 */
	do_action( 'deprecated_class_run', $class_name, $replacement, $version );

	/**
	 * Filters whether to trigger an error for a deprecated class.
	 *
	 * @since 6.4.0
	 *
	 * @param bool $trigger Whether to trigger an error for a deprecated class. Default true.
	 */
	if ( WP_DEBUG && apply_filters( 'deprecated_class_trigger_error', true ) ) {
		if ( function_exists( '__' ) ) {
			if ( $replacement ) {
				$message = sprintf(
					/* translators: 1: PHP class name, 2: Version number, 3: Alternative class or function name. */
					__( 'Class %1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead.' ),
					$class_name,
					$version,
					$replacement
				);
			} else {
				$message = sprintf(
					/* translators: 1: PHP class name, 2: Version number. */
					__( 'Class %1$s is <strong>deprecated</strong> since version %2$s with no alternative available.' ),
					$class_name,
					$version
				);
			}
		} else {
			if ( $replacement ) {
				$message = sprintf(
					'Class %1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead.',
					$class_name,
					$version,
					$replacement
				);
			} else {
				$message = sprintf(
					'Class %1$s is <strong>deprecated</strong> since version %2$s with no alternative available.',
					$class_name,
					$version
				);
			}
		}

		wp_trigger_error( '', $message, E_USER_DEPRECATED );
	}
}
```

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

- 6.4.0 — Introduced.

## Связанные

Использует: [`wp_trigger_error`](https://chugunov.pro/api-wordpress/functions/wp_trigger_error/), [`__`](https://chugunov.pro/api-wordpress/functions/__/), [`do_action`](https://chugunov.pro/api-wordpress/functions/do_action/), [`apply_filters`](https://chugunov.pro/api-wordpress/functions/apply_filters/).
Используется в: `WP_User_Search::__construct`.

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