_deprecated_constructor()
Marks a constructor as deprecated and informs when it has been used.
Similar to _deprecated_function(), but with different strings. Used to remove PHP4-style constructors.
The current behavior is to trigger a user error if WP_DEBUG is true.
This function is to be used in every PHP4-style constructor method that is deprecated.
Внутренняя функция — эта функция рассчитана на использование самим ядром. Не рекомендуется использовать эту функцию в своем коде.
Хуки из функции
Возвращает
null
. Ничего (null).
Использование
_deprecated_constructor( $class_name, $version, $parent_class );
- $class_name(строка) (обязательный)
- The class containing the deprecated constructor.
- $version(строка) (обязательный)
- The version of WordPress that deprecated the function.
- $parent_class(строка)
- The parent class calling the deprecated constructor.
По умолчанию: empty string
Список изменений
С версии 4.3.0 | Введена. |
С версии 4.5.0 | Added the $parent_class parameter. |
С версии 5.4.0 | This function is no longer marked as "private". |
С версии 5.4.0 | The error type is now classified as E_USER_DEPRECATED (used to default to E_USER_NOTICE). |
Код _deprecated_constructor() deprecated constructor WP 6.4.3
function _deprecated_constructor( $class_name, $version, $parent_class = '' ) { /** * Fires when a deprecated constructor is called. * * @since 4.3.0 * @since 4.5.0 Added the `$parent_class` parameter. * * @param string $class_name The class containing the deprecated constructor. * @param string $version The version of WordPress that deprecated the function. * @param string $parent_class The parent class calling the deprecated constructor. */ do_action( 'deprecated_constructor_run', $class_name, $version, $parent_class ); /** * Filters whether to trigger an error for deprecated functions. * * `WP_DEBUG` must be true in addition to the filter evaluating to true. * * @since 4.3.0 * * @param bool $trigger Whether to trigger the error for deprecated functions. Default true. */ if ( WP_DEBUG && apply_filters( 'deprecated_constructor_trigger_error', true ) ) { if ( function_exists( '__' ) ) { if ( $parent_class ) { $message = sprintf( /* translators: 1: PHP class name, 2: PHP parent class name, 3: Version number, 4: __construct() method. */ __( 'The called constructor method for %1$s class in %2$s is <strong>deprecated</strong> since version %3$s! Use %4$s instead.' ), $class_name, $parent_class, $version, '<code>__construct()</code>' ); } else { $message = sprintf( /* translators: 1: PHP class name, 2: Version number, 3: __construct() method. */ __( 'The called constructor method for %1$s class is <strong>deprecated</strong> since version %2$s! Use %3$s instead.' ), $class_name, $version, '<code>__construct()</code>' ); } } else { if ( $parent_class ) { $message = sprintf( 'The called constructor method for %1$s class in %2$s is <strong>deprecated</strong> since version %3$s! Use %4$s instead.', $class_name, $parent_class, $version, '<code>__construct()</code>' ); } else { $message = sprintf( 'The called constructor method for %1$s class is <strong>deprecated</strong> since version %2$s! Use %3$s instead.', $class_name, $version, '<code>__construct()</code>' ); } } wp_trigger_error( '', $message, E_USER_DEPRECATED ); } }