Avec l’arrivée de WordPress 4.3 s’est soulevée une vague nouvelle de topics sur les forums officiels et non officiels liés à WordPress. En effet, WordPress a décidé de ne plus supporter le constructeur à la sauce PHP 4 comme la documentation officielle l’indiquait. (elle a d’ailleurs été mise à jour) Petit extrait de code rapide.

Utiliser la méthode __construct()

Même si PHP5 accepte toujours l’ancienne syntaxe :

<?php
class Foo_Widget extends WP_Widget {

	function Foo_Widget() {
		$this->WP_Widget(
			'foo_widget', // Base ID
			__( 'Widget Title', 'text_domain' ), // Name
			array( 
				'description' => __( 'A Foo Widget', 'text_domain' ),
				'classname' => 'foo-widget'
			) // Args
		);
	}
}
?>

WordPress vous balance un message d’erreur (si vous êtes en mode debug) pour vous prévenir d’utiliser le constructeur parent __construct(). Il convient donc d’utiliser maintenant cette forme de constructeur.

<?php
class Foo_Widget extends WP_Widget {

	function __construct() {
		parent::__construct(
			'foo_widget', // Base ID
			__( 'Widget Title', 'text_domain' ), // Name
			array( 
				'description' => __( 'A Foo Widget', 'text_domain' ),
				'classname' => 'foo-widget'
			) // Args
		);
	}
}
?>

À vos codes !

This post is also avalaible in : Anglais