_deprecated_function() WP 2.5.0

Виводить повідомлення, що зазначена функція WP застаріла (перейшла в розряд deprecated ).

Функцію можна використовувати в плагінах/темах, якщо у вас з’явилися застарілі функції, які можуть не використовуватися в наступних версіях.

Для виведення повідомлення про помилку константа WP_DEBUG у wp-config.php має бути увімкнена (рівна true).

Хук deprecated_function_run , потрібен коли треба щось зробити при виклику застарілої функції, незалежно від того, чи константа WP_DEBUG увімкнена. Так, наприклад, можна використовувати функцію, щоб записувати можливі помилки виклику застарілих (заборонених) функцій кудись у балку.

Працює з урахуванням базової функції PHP trigger_error() .

Є ще аналогічна функція: _deprecated_argument()

Ця функція вважається внутрішньою для використання самим ядром . Не рекомендується використовувати цю функцію у своєму коді.

Повертає

null.

Використання

_deprecated_function( $function, $version, $replacement );
$function
(рядок) (обов’язковий)
Ім’я функції, що викликається. Зазвичай вказується
__FUNCTION__ , якщо функція викликається зсередини іншої функції або
__METHOD__ , якщо метод класу.
$version
(рядок) (обов’язковий)
Версія WordPress з якою функція позначена як застаріла (deprecated).
$replacement
(рядок)
Назва функції, яка має бути використана замість поточної.


Типово: null

Приклади

0

#1 Приклад використання в ядрі

function logIO( $io, $msg ) {
	_deprecated_function( __FUNCTION__, '3.4', 'error_log()' );

	if ( ! empty( $GLOBALS['xmlrpc_logging'] ) )
		error_log($io.'-'.$msg);
}

список змін

З версії 2.5.0Введено.
З версії 5.4.0Ця функція не є довгим, як “приватний”.
З версії 5.4.0Проблема типу є тепер класифікованою як E_USER_DEPRECATED (застосований до default to E_USER_NOTICE).

Код _deprecated_function() WP 6.0.2

function _deprecated_function( $function, $version, $replacement = '' ) {

	/**
	 * Fires when a deprecated function is called.
	 *
	 * @ Since 2.5.0
	 *
	 * @param string $function Ця функція була названа.
	 * @param string $replacement Функція, яка повинна бути названа.
	 * @param string $version The version of WordPress that deprecated the function.
	 */
	do_action( 'deprecated_function_run', $function, $replacement, $version);

	/**
	 * Filters whether to trigger an error for deprecated функцій.
	 *
	 * @ Since 2.5.0
	 *
	 * @param bool $trigger Щоб запобігти помилці для невдалих функцій. Default true.
	 */
	if ( WP_DEBUG && apply_filters( 'deprecated_function_trigger_error', true ) ) {
		if ( function_exists( '__' ) ) {
			if ($ replacement) {
				trigger_error(
					sprintf(
						/* translators: 1: PHP function name, 2: Version number, 3: Alternative function name. */
						__( 'Function %1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead.' ),
						$function,
						$version,
						$replacement
					),
					E_USER_DEPRECATED
				);
			} else {
				trigger_error(
					sprintf(
						/* translators: 1: PHP function name, 2: Version number. */
						__( 'Function %1$s is <strong>deprecated</strong> since version %2$s with no alternative available.' ),
						$function,
						$version
					),
					E_USER_DEPRECATED
				);
			}
		} else {
			if ($ replacement) {
				trigger_error(
					sprintf(
						'Function %1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead.',
						$function,
						$version,
						$replacement
					),
					E_USER_DEPRECATED
				);
			} else {
				trigger_error(
					sprintf(
						'Function %1$s is <strong>deprecated</strong> since version %2$s with no alternative available.',
						$function,
						$version
					),
					E_USER_DEPRECATED
				);
			}
		}
	}
}

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *