Я хотел бы предложить что-то вроде:
/**
* @deprecated Please use good_function_name() instead
* @since x.y.z Marked deprecated in favor of good_function_name()
* @see good_function_name()
*/
function bad_function_name() {
trigger_error(
'The ' . __FUNCTION__ . ' function is deprecated. ' .
'Please use good_function_name() instead.',
defined( 'E_USER_DEPRECATED' ) ? E_USER_DEPRECATED : E_USER_WARNING
);
return good_function_name();
}
Это приводит к отображению предупреждения об устаревании в журналах вместе с трассировкой стека. Естественно, это будет работать, только если в WordPress включена регистрация.
Тернарный оператор существует потому, что константа E_USER_DEPRECATED была введена только в PHP 5.3.0. В старых версиях мы можем вместо этого обратиться к простому предупреждению пользователя.
Из руководства по PHP по константам ошибок :
E_DEPRECATED Уведомления во время выполнения. Включите это, чтобы получать предупреждения о коде, который не будет работать в будущих версиях.
Причина, по которой я не люблю использовать _doing_it_wrong или __deprecated_function, заключается в том, что эти функции предназначены только для ядра WordPress. Из ссылки на код этих функций:
Доступ к этой функции помечен как частный. Это означает, что он не предназначен для использования разработчиками плагинов или тем, только в других основных функциях. Это перечислено здесь для полноты.