WordPress at Your Fingertips
function is not described

_deprecated_constructor() WP 4.3.0

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.

This is an internal function for using it by WP core itself. It's not recommended to use this function in your code.

Return

null. Nothing.

Usage

_deprecated_constructor( $class, $version, $parent_class );
$class(string) (required)
The class containing the deprecated constructor.
$version(string) (required)
The version of WordPress that deprecated the function.
$parent_class(string)
The parent class calling the deprecated constructor.
Default: empty string

Changelog

Since 4.3.0 Introduced.
Since 4.5.0 Added the $parent_class parameter.
Since 5.4.0 This function is no longer marked as "private".
Since 5.4.0 The error type is now classified as E_USER_DEPRECATED (used to default to E_USER_NOTICE).

Code of _deprecated_constructor() WP 5.8.1

function _deprecated_constructor( $class, $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        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, $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 ) {
				trigger_error(
					sprintf(
						/* translators: 1: PHP class name, 2: PHP parent class name, 3: Version number, 4: __construct() method. */
						__( 'The called constructor method for %1$s in %2$s is <strong>deprecated</strong> since version %3$s! Use %4$s instead.' ),
						$class,
						$parent_class,
						$version,
						'<code>__construct()</code>'
					),
					E_USER_DEPRECATED
				);
			} else {
				trigger_error(
					sprintf(
						/* translators: 1: PHP class name, 2: Version number, 3: __construct() method. */
						__( 'The called constructor method for %1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead.' ),
						$class,
						$version,
						'<code>__construct()</code>'
					),
					E_USER_DEPRECATED
				);
			}
		} else {
			if ( $parent_class ) {
				trigger_error(
					sprintf(
						'The called constructor method for %1$s in %2$s is <strong>deprecated</strong> since version %3$s! Use %4$s instead.',
						$class,
						$parent_class,
						$version,
						'<code>__construct()</code>'
					),
					E_USER_DEPRECATED
				);
			} else {
				trigger_error(
					sprintf(
						'The called constructor method for %1$s is <strong>deprecated</strong> since version %2$s! Use %3$s instead.',
						$class,
						$version,
						'<code>__construct()</code>'
					),
					E_USER_DEPRECATED
				);
			}
		}
	}

}