Fotografía macro de una pantalla con código PHP

Trabajar con instalaciones WordPress de clientes es una tarea que muchos realizamos diariamente. A menudo es complicado gestionar los diferentes aspectos que pueden causar que el sitio web deje de funcionar, o que lo haga de una forma diferente a la que queremos. Las actualizaciones de plugins son uno de los puntos más conflictivos, ya que cuando un plugin se actualiza (a menos que sea un plugin de un desarrollador fiable) puede pasar cualquier cosa: desde un cambio de funcionalidad inesperado, hasta el temible pantallazo blanco de la muerte que nos dejará la página KO.

En una situación ideal, después de una actualización de plugins todo debería funcionar tal y como lo hacía anteriormente, o incluso mejor. Sin embargo, muchas veces nos hemos encontrado de todo, y estoy seguro de que si te dedicas a WordPress no te estoy explicando nada que no sepas ya. Quejas de tu cliente porque algo ha dejado de funcionar y te vuelves loco buscando el porqué, hasta que ves que el plugin de turno se ha actualizado y ahora la cosa ya no funciona como esperabas. Conflictos entre versiones de plugins nuevas que ya no son compatibles con tus otros plugins. Te suena, ¿verdad? Todo un infierno de posibles problemas difíciles de detectar cuando algo se actualiza y no nos damos cuenta.

Para paliar esta situación, me gustaría compartir un pequeño fragmento de código (snippet, en inglés) que nos puede ayudar cuando queremos desactivar las actualizaciones de plugins WordPress para que una instalación WordPress no compruebe si hay actualizaciones de plugins. De este modo, nuestros grandes amigos los usuarios (o cualquiera involucrado en el proyecto) no verán el aviso de actualización y por tanto no actualizarán los plugins que tenemos instalados.

El fragmento de código PHP consiste en estas dos simples líneas:

remove_action( 'load-update-core.php', 'wp_update_plugins' );
add_filter( 'pre_site_transient_update_plugins', create_function( '$a', "return null;" ) );

Debemos añadir estas lineas al final de nuestro archivo functions.php, que podemos encontrar directamente en el Escritorio de WordPress, menú Apariencia -> Editor. A la derecha veremos un listado con todos los archivos que componen el tema activo actual. Buscamos el archivo catalogado como Funciones del Tema (functions.php) y las añadimos allí. Así de simple a la par que efectivo.

Desactivar actualizaciones de plugins
Código para desactivar actualizaciones de plugins en WordPress

Obviamente, nada evita que el usuario suba una nueva versión de un plugin directamente, saltándose el sistema de actualizaciones por defecto. Pero creo que esto es algo mucho menos probable de que suceda. Es mucho más llamativo el número que encontramos a la derecha del menú Plugins indicando los plugins que tenemos por actualizar, y con este truco evitamos que aparezca y que WordPress nos avise de nuevas versiones de plugins.

Ojo, con esto no quiero decir que las actualizaciones de plugins sean malas y que no deben hacerse. Todo lo contrario. Siempre debemos ir actualizando los plugins para aprovecharnos de soluciones de errores y nuevas funcionalidades. El motivo principal para utilizar este truco es el de conseguir una instalación que de forma temporal no cambie, evitando actualizaciones que pueden romper la estabilidad de nuestra web WordPress mientras estamos trabajando con ella. Una vez hemos terminado el desarrollo o el mantenimiento, quitaremos las líneas que previenen las actualizaciones para de este modo seguir estando al día.

Ya sabes, si quieres conseguir estabilidad temporal mientras acabas tu desarrollo o implementas una funcionalidad específica, las dos líneas anteriores te pueden ser de ayuda.

Imagen destacada de Ilya Pavlov en Unsplash.

6 respuestas a «Desactivar las actualizaciones de plugins WordPress»

  1. Avatar de Miguel
    Miguel

    Muchas gracias. Las exigencias de los clientes a veces nos exigen modificar código interno de los plugins, lo cual se «estropea» tras una actualización. De esta manera al pasar el mando de administrador a otra persona te aseguras de que la web permanezca como debería, al no haber actualizaciones no deseadas 😉
    Un saludo

    1. Avatar de David Aguilera

      Totalmente de acuerdo, Miguel.

      De todas formas, quisiera mencionar que no suele ser una buena idea tocar directamente el código de un plugin porque, como muy bien dices, las modificaciones se pierden al actualizarse. Lo ideal es estudiar si el plugin en cuestión incluye acciones o filtros para que podamos modificar su comportamiento por defecto y lo adaptemos a nuestras necesidades.

      Ahora bien, no siempre es posible implementar una solución de estas y entonces no nos queda más remedio que modificar el plugin en cuestión a mano y evitar que se actualice 😉

      Un saludo,
      David

    1. Avatar de Antonio Villegas

      ¡Gracias a ti por pasarte por nuestra web!

  2. Avatar de César Easy To make
    César Easy To make

    Hola Antonio!
    Gracias por la instrucción.

    Buscaba desactivar un plugin específico.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

He leído y acepto la política de privacidad de Nelio Software

Tus datos personales se almacenarán en SiteGround y serán usados por Nelio Software con el único objetivo de publicar tu comentario aquí. Con el envío de este comentario, nos das el consentimiento expreso para ello. Escríbenos para acceder, rectificar, limitar o eliminar tus datos personales.