Construct para WP_Widget
-
Uso un plugin que ni siquiera está ya en el repositorio de wordpress y el caso es que, mientras encuentro uno que lo sustituya, me gustaría solventar el problema que aparece al activar el DEBUG: «Notice: ¡El llamado método constructor para WP_Widget es obsoleto desde la versión 4.3.0! Utiliza __construct()».
Tras buscar al respecto, he encontrado una posible solución pero que no acaba de funcionar.
En primer lugar, os pongo el código que se encuentra antes de la porción donde se produce el error:add_action( 'widgets_init', 'olt_subpages_navigation_load_widgets' ); //if(SUBPAGE_NAVIGATION_STYLE) add_action( 'init', 'init_subpages_navigation_plugin' ); /** * Register our widget. * 'olt_subpages_navigation_Widget' is the widget class used below. * * @since 1.0 */ function olt_subpages_navigation_load_widgets() { register_widget( 'OLT_Subpages_Navigation_Widget' ); }
Después tenemos la parte del error. Ya incluyo las modificaciones:
class OLT_Subpages_Navigation_Widget extends WP_Widget { /** * Widget setup. */ // ORIGINAL: function OLT_Subpages_Navigation_Widget() { // Sustituida por la siguiente linea function __construct() { /* Widget settings. */ $widget_ops = array( 'classname' => 'widget_subpages_navigation', 'description' => __('A widget that creates a subpages navigation menu.', 'olt_subpages_navigation') ); /* Widget control settings. */ $control_ops = array( 'width' => 400, 'height' => 350, 'id_base' => 'olt-subpages-navigation-widget' ); /* Create the widget. */ // ORIGINAL: $this->WP_Widget( 'olt-subpages-navigation-widget', __('Subpages Navigation', 'olt_subpages_navigation'), $widget_ops, $control_ops ); // Sustituimos por parent::__construt ( 'olt-subpages-navigation-widget', __('Subpages Navigation', 'olt_subpages_navigation'), $widget_ops, $control_ops ); }
Una vez realizadas los cambios me sale ahora el siguiente error:
Call to undefined method WP_Widget::__construt()
La línea donde se produce el error es:
parent::__construt ( 'olt-subpages-navigation-widget', __('Subpages Navigation', 'olt_subpages_navigation'), $widget_ops, $control_ops );
¿Alguna idea?
-
parent::__construt
o
parent::__construct
¿?Un saludo
¡Será posible! Habré mirado el código mil veces y no me había dado cuenta del error tipográfico.
Menos mal que te has dado tú cuenta. Muchas gracias.NOTA. Por si le sirve a otros usuarios.
MENSAJE DE ERROR: Notice: ¡El llamado método constructor para WP_Widget es obsoleto desde la versión 4.3.0! Utiliza __construct()».
En primer lugar, debemos identificar el causante del error (plugin o tema). Tendremos una estructura parecida a
class XXX { function XXX (){ ....... $this->WP_Widget ....... } }
Lo que tenemos que hacer es sustituir
function XXX ()
porfunction __construct()
y$this->WP_Widget
porparent::__construct
Las variables y cadenas que van a continuación de WP_Widget se mantienen.
En mi caso, por ejemplo, sustituí
$this->WP_Widget( 'olt-subpages-navigation-widget', __('Subpages Navigation', 'olt_subpages_navigation'), $widget_ops, $control_ops );
por
parent::__construct ( 'olt-subpages-navigation-widget', __('Subpages Navigation', 'olt_subpages_navigation'), $widget_ops, $control_ops );
- El debate ‘Construct para WP_Widget’ está cerrado a nuevas respuestas.