• Saltar a la navegación principal
  • Saltar al contenido principal
  • Saltar a la barra lateral principal

DecodeCMS

Tu WordPress a otro Nivel ...

  • Acerca de
  • Contacto
  • Inicio
  • Tutoriales
    • Themes
    • Plugins
    • Core
    • Recursos
  • Cursos
  • Acceder
    • Mis cursos
    • Mi Cuenta
    • Acceder
Inicio / Tutoriales / Core / Desactivar la actualización para plugins específicos

Desactivar la actualización para plugins específicos

Desactivar la actualización para plugins específicos

[ 3 marzo 2020 ] [ Autor: Jhon Marreros Guzmán ][ Core - Intermedio] [ ]

dashboard funcionalidad

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Hace poco me encargaron un trabajo para modificar la funcionalidad de un plugin, lo primero fue buscar algún Hook para la funcionalidad que quería modificar, de esta manera evitaría tocar los archivos del plugin, sin embargo no localicé ningún Hook.

 

Generalidades

Como no encontré un Hook en el que insertar mi código, terminé modificando un archivo del plugin, pero ahora encontré otro problema y es que el plugin en el futuro podría actualizarse y perdería las modificaciones realizadas.

Una posible solución sería clonar el plugin con otro nombre y así evitar la actualización, sin embargo me decante por evitar que el plugin notifique una actualización y hacer la actualización de manera manual, ya que tendría que hacer la modificación al archivo nuevamente.

En un artículo anterior habíamos visto cómo desactivar las notificaciones de las actualizaciones de WordPress. Sin embargo en este artículo veremos cómo hacerlo para plugins específicos.

Al final lo que quería obtener es algo similar a la siguiente imagen:

Deshabilitar notificación actualización plugin

Si las modificaciones que realizas aporta al plugin puedes igualmente solicitar esta modificación a los desarrolladores, en mi caso lo hice sugiriendo que agregaran un Hook de filtro.

 

Código para evitar que un plugin notifique actualizaciones

El siguiente código puede ser agregado al final del archivo functions.php del tema o usando algún plugin de Snippets

// Deshabilitar la notificación de actualización de plugins
add_filter( 'site_transient_update_plugins', 'dcms_disable_plugin_update' );
function dcms_disable_plugin_update( $value ) {
	if ( isset($value) && is_object($value) ) {
		// Desactivamos las notificaciones del plugin1
		if ( isset( $value->response['plugin1/plugin1.php'] ) ) {
			unset( $value->response['plugin1/plugin1.php'] );
		}
	}
	return $value;
}
Tienes que reemplazar plugin1/plugin1.php por el nombre de carpeta y nombre del archivo del plugin al que quieres quitar las notificaciones de actualización.

En el código anterior:

  • Usamos el Hook llamado site_transient_update_plugins que hace referencia a la función dcms_disable_plugin_update()
  • Comprobamos que el parámetro $value sea un parámetro válido
  • Evaluamos la clave del array $value que hace referencia al plugin al que queremos quitar las notificaciones
  • Finalmente usamos la función de PHP unset() para quitar ese elemento del array

 

Conclusión

Si quieres evitar la notificación de actualización y que un plugin sea actualizado accidentalmente, entonces puedes evaluar desactivar notificación, de esta manera podrás decidir cuando actualizar manualmente. Esto es especialmente útil, tal como te comenté, cuando has realizado modificaciones a los archivos del plugin.

 

¿Aún con dudas?, en el siguiente video se detallan los puntos anteriores.

Suscríbete a DecodeCMS:  

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • desactivar notificaciones de actualizaciónDesactivar las notificaciones de actualización en WordPress
  • nube de etiquetas en WordPressPersonalizar nube de etiquetas en WordPress
  • Página de inicio y página de entradasPágina de inicio y Página de entradas en WordPress
  • Mover WordPress manualmenteMover WordPress manualmente
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (4 votos, promedio: 5,00 de 5)
Cargando...

Interacciones con los lectores

Comentarios

  1. José Mª Labarta

    5 marzo, 2020

    Hola.
    Como siempre muy correcta esta forma de hacerlo.
    Yo hasta ahora lo hacía modificando la versión y poniendo por ejemplo: Version: 9.9.99
    Ya sé que estoy es muy incorrecto, pero funciona.
    Gracias por tus aportaciones.
    Saludos

  2. joaquin

    8 marzo, 2020

    Buen tutorial… Puede ser muy útil

  3. JoseG

    8 marzo, 2021

    Saludos, el código:

    add_filter( ‘site_transient_update_plugins’, ‘dcms_disable_plugin_update’ );
    function dcms_disable_plugin_update( $value ) {
    if ( isset($value) && is_object($value) ) {
    // Desactivamos las notificaciones del plugin1
    if ( isset( $value->response[‘plugin1/plugin1.php’] ) ) {
    unset( $value->response[‘plugin1/plugin1.php’] );
    }
    }
    return $value;
    }

    funciona para 1 plugin pero si necesito deshabilitar las notificaciones de dos o tres que modificación debo realizar.

    Gracias.

    • Jhon Marreros Guzmán

      8 marzo, 2021

      Repite el bloque if
      // Desactivamos las notificaciones del plugin1
      …
      // Desactivamos las notificaciones del plugin2
      …
      Puedes hacer varias comprobaciones para distintos plugins en ifs independientes o usando elseif.

      Saludos.

  4. Ramiro

    31 mayo, 2022

    Muchas gracias, me re sirvió! Gracias

Para escribir código envolver con: <pre class="language-xxx"><code> </code></pre> ,reemplaza las xxx (php, css, html)

*

* Gravatar habilitado

Barra lateral principal

Presentación

Curso Decodifica WordPress

Únete a DecodeCMS

Recibirás como regalo:

Guia práctica con video:
¿Quieres agregar código a WordPress? Revisa las diferentes opciones que tienes.Ver más

Jooble
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

accesibilidad css dashboard editor error funcionalidad herramientas imagen js librería mejoras optimización seguridad social woocommerce

Populares

Usar el Inspector de código para modificar un theme WordPress

Aprende a usar mu-plugins en WordPress

Cabecera fija en theme WordPress

Herramienta de Salud del Sitio en WordPress

© logo decode pie
Política de Privacidad | Política de devoluciones
Copyrigth 2023 Todos los derechos reservados