WordPress как на ладони
wordpress jino

_deprecated_function() WP 2.5.0

Выводит сообщение что указанная функция WP устарела (перешла в разряд deprecated).

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

Для вывода сообщения об ошибке константа WP_DEBUG в wp-config.php должна быть включена (равна true).

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

Работает на основе базовой функции PHP trigger_error().

Есть еще аналогичная функция: _deprecated_argument()

Хуки из функции:

Использование

_deprecated_function( $function, $version, $replacement );
$function(строка) (обязательный)
Имя вызываемой функции. Обычно указывается __FUNCTION__, если функция вызывается изнутри другой функции или __METHOD__, если из метода класса.
$version(строка) (обязательный)
Версия WordPress с которой функция помечена как устаревшая (deprecated).
$replacement(строка)
Название функции, которая должна быть использована вместо текущей.
По умолчанию: null

Примеры

#1 Пример использования в ядре

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

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

Код deprecated function: wp-includes/functions.php WP 4.8.2

<?php
function _deprecated_function( $function, $version, $replacement = null ) {

	/**
	 * Fires when a deprecated function is called.
	 *
	 * @since 2.5.0
	 *
	 * @param string $function    The function that was called.
	 * @param string $replacement The function that should have been called.
	 * @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 functions.
	 *
	 * @since 2.5.0
	 *
	 * @param bool $trigger Whether to trigger the error for deprecated functions. Default true.
	 */
	if ( WP_DEBUG && apply_filters( 'deprecated_function_trigger_error', true ) ) {
		if ( function_exists( '__' ) ) {
			if ( ! is_null( $replacement ) ) {
				/* translators: 1: PHP function name, 2: version number, 3: alternative function name */
				trigger_error( sprintf( __('%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead.'), $function, $version, $replacement ) );
			} else {
				/* translators: 1: PHP function name, 2: version number */
				trigger_error( sprintf( __('%1$s is <strong>deprecated</strong> since version %2$s with no alternative available.'), $function, $version ) );
			}
		} else {
			if ( ! is_null( $replacement ) ) {
				trigger_error( sprintf( '%1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead.', $function, $version, $replacement ) );
			} else {
				trigger_error( sprintf( '%1$s is <strong>deprecated</strong> since version %2$s with no alternative available.', $function, $version ) );
			}
		}
	}
}
petrozavodsky 675alkoweb.ru
Делаю веб, можно сказать работаю с WordPress. Временами живу в Краснодаре.
_deprecated_function Комментариев нет

Здравствуйте, !

Ваш комментарий