A partir de la versión 4.3.0 de wordpress muchos usuarios se han encontrado con el siguiente aviso:
"Notice: ¡El llamado método constructor para WP_Widget es obsoleto desde la versión 4.3.0! Utiliza __construct()". O bien con su versión en inglés: "Notice: The called constructor method for WP_Widget is deprecated since version 4.3.0! Use __construct()"
El motivo de dicho mensajes es debido a que los "constructores" tendrán a partir de la versión PHP 7 una nuevo estilo (los constructores del estilo antiguo están OBSOLETOS en PHP 7.0, por lo que serán eliminados en una futura versión). ¿Cómo solucionarlo? Lo primero de todo es identificar el plugin o tema responsable y para ellos activaremos el modo depuración en wordpress mediante la siguiente línea en el archivo wp-config. php:
define('WP_DEBUG', true);
Identificado el causante del error, buscaremos una estructura como esta:
class XXX { function XXX (){ ....... $this->WP_Widget(....) ....... } }
Lo que tenemos que hacer es sustituir "function XXX()" por "function __construct()" y "$this->WP_Widget" por "parent::__construct"
class XXX { function __construct() { ....... parent::__construct(.....) ....... } }
Enlace permanente
este es el código que tengo:
function __construct()
{
global $table_prefix;
$this->version = OT_VERSION;
$this->table_name = $table_prefix . 'option_tree';
$this->option_array = $this->option_tree_data();
ayúdame porfi como cambiarlo!!!
Enlace permanente
Pero, ¿en qué plugin o tema tienes el problema? ¿Puedes pasarme el texto del error que te aparece?
Enlace permanente
Hola Almendron!!
EL post es ideal para el error actual en mi pagina pero no se en donde voy hacer el cambio de código que indicas.
El error es este:
Notice: The called constructor method for WP_Widget in bp_160_widget is deprecated since version 4.3.0! Use
__construct()
instead. in /home/cpoliva/public_html/site/wp-includes/functions.php on line 3892
Entiendo que no es en functions.php
El sitio es http://www.losreportesdelichi.com/site/
Enlace permanente
Probablemente sea algún plugin o el propio tema.
Haz una prueba: desactiva todos los plugins y cambia de tema (pon uno de los que trae por defecto Wordpres). Mantén en el config.php la línea
define('WP_DEBUG', true);
Después de hacer esto, no debería salirte el mensaje. Ahora ve activando-probando plugin a plugin hasta encontrar al responsable. Si no fuera ninguno, entonces vuelve a activar el tema que usas ahora a ver si entonces aparece.
PD. LO del error en el archivo functions.php del directorio "wp-includes" no es (salvo que tengas una versión muy antigua de WP).
Enlace permanente
Buenos días Miguel
He visto un post tuyo acerca de cómo solucionar el error Notice: ¡El método de llamada al constructor WP_Widget en LayerSlider_Widget está obsoleto desde la versión 4.3.0! Utiliza
__construct()
en su lugar. in /home/alfonsor/www/wp-includes/functions.php on line 3893
Te agradecería si pudieras ayudarme a quitar el error de mi web puesto que no entiendo cómo recomiendas solucionarlo
Por favor te agradecería si me puedes facilitar tu numero de teléfono para contactar contigo y me puedas ayudar a quitar el error de mi web como podrás ver que aparece al principio de la pagina principal
Espero recibir noticias
Muchas gracias
Un cordial saludo.
Alfonso Ros Castellar
Consultor Finanzas - Economista - Control de Gestión
Colegiado nº 9.025
96 061 00 40 - 667 98 34 73
http://www.alfonsoros.com
Enlace permanente
Me encantaría ayudarte pero el plugin LayerSlider, que es el responsable del error, es de pago y por tanto no tengo acceso a él. Ponte en contacto con el soporte de dicho plugin.
De todas formas, hay una forma de evitar que salga el error:
1) Edita el archivo
wp-config. php
(haz primero una copia)2) Busca la línea
define('WP_DEBUG', true);
y la sustituyes pordefine('WP_DEBUG', false);
Esto solo evitará que salga el mensaje. No repara el error. No obstante, es solo una "notice". Eso significa que el plugin seguirá funcionando aunque es muy probable que con el tiempo deje de hacerlo (una vez que dicha función quede totalmente obsoleta)