WP_Widget En desuso

2

Hace poco asumí el desarrollo de un sitio de WordPress que está lanzando el 'WP_Widget ()' como advertencia obsoleta.

Después de buscar en todos los archivos relevantes, descubrí el siguiente bloque de código, que parece ser el culpable:

/**
* @Agents(s) list widget Class
*/
if ( ! class_exists( 'cs_agentlist' ) ) {
class cs_agentlist extends WP_Widget {      

/**
 * Outputs the content of the widget
     * @param array $args
 * @param array $instance
 */

/**
 * @init User list Module
         */
 function cs_agentlist() {
    $widget_ops = array('classname' => 'widget_agents', 'description' => 'Select user to show in widget.');


$this->WP_Widget('cs_agentlist', 'CS : Agents', $widget_ops);
 }

......
}

A partir de esto, asumo que la siguiente línea debe cambiarse:

$this->WP_Widget('cs_agentlist', 'CS : Agents', $widget_ops);

Pero, no estoy completamente seguro de cómo se debe cambiar esto. He leído pero no estoy 100% seguro en mi próximo movimiento.

Cualquier ayuda sería muy apreciada.

    
pregunta Phill Healey 01.10.2015 - 15:37

1 respuesta

5

Reemplaza tu código con esto. Esta advertencia se debe a que los constructores de estilo PHP4 se deprecian desde WordPress 4.3

/**
* @Agents(s) list widget Class
*/
if ( ! class_exists( 'cs_agentlist' ) ) {
class cs_agentlist extends WP_Widget {      

/**
 * Outputs the content of the widget
     * @param array $args
 * @param array $instance
 */

/**
 * @init User list Module
         */
 public function __construct() {
    $widget_ops = array('classname' => 'widget_agents', 'description' => 'Select user to show in widget.');

parent::__construct('cs_agentlist', 'CS : Agents', $widget_ops);
 }
    
respondido por el Hareesh Sivasubramanian 01.10.2015 - 18:09

Lea otras preguntas en las etiquetas