• 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 / Modificar automáticamente un plugin luego de su actualización

Modificar automáticamente un plugin luego de su actualización

[ 12 noviembre 2024 ] [ Autor: Jhon Marreros Guzmán ][ Core - Avanzado] [ ]

dashboard funcionalidad

Suscríbete a DecodeCMS:  

En un artículo anterior habíamos visto cómo evitar actualizaciones de plugins, sin embargo en algunos es posible que requieras actualizar el plugin pero luego sobrescribir archivos modificados.

 

Generalidades

En algunos proyectos puede ser necesario modificar archivos de temas y plugins, la desventaja es que perderemos nuestros cambios tras una actualización.

En este artículo veremos cómo realizar alguna acción para mitigar esto, por ejemplo sobrescribir las modificaciones, enviar un correo de aviso, etc. , cuando un plugin específico ha sido actualizado.

Sabemos que WordPress es flexible y en la medida de lo posible evitaremos modificar los archivos de plugins y temas, es por eso que usamos los Hooks para hacer cambios.

 

Código que se ejecute tras finalizar la actualización de un plugin

En el siguiente código detectamos si el plugin de WooCommerce ha sido actualizado, si ha sido actualizado entonces sobrescribiremos uno de sus archivos con un archivo que tenemos en la ruta del tema hijo.

Las modificaciones en este archivo a modo de ejemplo simplemente cambian el icono de WooCommerce en el menú de la administración.
add_action( 'upgrader_process_complete', 'process_woocommerce_update', 10, 2 );

function process_woocommerce_update( $upgrader_object, $options ) {

	// Verificamos que sea una actualización de plugin
	if ( $options['action'] == 'update' && $options['type'] == 'plugin' ) {
		// Obtenemos los plugins que fueron actualizados
		$plugins_actualizados = $options['plugins'];

		// Definimos el slug del plugin de WooCommerce
		$slug_woocommerce = 'woocommerce/woocommerce.php';

		// Verificamos si WooCommerce está en la lista de plugins actualizados
		if ( in_array( $slug_woocommerce, $plugins_actualizados ) ) {

			// Definimos el archivo que se sobrescribirá
			$from = get_stylesheet_directory() . '/updates/class-wc-admin-menus.php'; // Archivo en el tema hijo
			$to = WP_PLUGIN_DIR . '/woocommerce/includes/admin/class-wc-admin-menus.php'; // Archivo en el plugin

			// Copiamos el archivo actualizado a la carpeta del plugin
			copy( $from, $to );

			error_log(print_r('Se ha actualizado el archivo de WooCommerce',true));
		}
	}
}

En el código anterior:

  • Usamos el Hook upgrader_process_complete para detectar cuando una actualización ha sido completada
  • Se hace referencia a la función process_woocommerce_update la cual tiene dos parámetros para detectar el objeto que ha sido actualizado
  • Verificamos si se esta actualizando un plugin usando la variable $options
  • Para verificar si se trata de WooCommerce el plugin que ha sido actualizado hacemos la verificación con la variable $plugins_actualizados
  • Cuando nos aseguramos que es WooCommerce el plugin que ha sido actualizado entonces podemos llevar a cabo alguna acción, en nuestro ejemplo simplemente será reemplazar un archivo

 

Conclusión

Como has podido comprobar, es posible realizar modificaciones tras la actualización de un plugin de WordPress. En este artículo hemos visto como realizar esto con un ejemplo práctico de reemplazo de archivos a través de código.

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Desactivar la actualización para plugins específicosDesactivar la actualización para plugins específicos
  • nube de etiquetas en WordPressPersonalizar nube de etiquetas en WordPress
  • Insertar Ajax en WordPress de manera correctaAjax en WordPress de manera correcta
  • Cambiar textos de traducción en WordPressCambiar textos de traducción en WordPress
Valora este artículo : 1 barra2 barras3 barras4 barras5 barras (1 votos, promedio: 5,00 de 5)
Cargando...

Interacciones con los lectores

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

*

* Gravatar habilitado

Barra lateral principal

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

Omnisend
Alojamiento Wordpress

Niveles

Básico Intermedio Avanzado

Etiquetas

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

Populares

Campo de texto para escribir en productos WooCommerce

Actualizar el stock de productos usando la API de WooCommerce

Campos personalizados con ACF para contenido en WordPress

Usar el Media Uploader de WordPress en tus plugins y temas

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