• 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 / Plugins / Eliminar automáticamente las imágenes al borrar un producto de WooCommerce

Eliminar automáticamente las imágenes al borrar un producto de WooCommerce

[ hace 2 meses ] [ Autor: Jhon Marreros Guzmán ][ Plugins - Intermedio] [ ]

optimización woocommerce

Suscríbete a DecodeCMS:  

En versiones actuales de WooCommerce cuando borras un producto, aún se mantienen sus imágenes, por lo que si quieres eliminar estas imágenes tendrás que hacerlo de manera manual.

 

Generalidades

Lo que haremos será que tras eliminar un producto desde la administración de WooCommerce, automáticamente se eliminen todas las imágenes asociadas, tanto imágenes de galería como imagen destacada.

Existen algunos plugins para realizar esto, sin embargo veremos cómo realizarlo a través de un Snippet de código.
Eliminar imágenes de producto automaticamente

 

Código para eliminar automáticamente las imágenes

Puedes agregar el siguiente código como parte del archivo functions.php de tu tema hijo o usando algún plugin de Snippets.

add_action('before_delete_post', 'dcms_delete_product_images', 10, 1);

function dcms_delete_product_images($post_id)
{
	$product = wc_get_product($post_id);

	if ( ! $product) return;

	$featured_image_id = $product->get_image_id();
	$image_galleries_id = $product->get_gallery_image_ids();

	if (!empty($featured_image_id)) {
		wp_delete_post($featured_image_id);
	}

	if (!empty($image_galleries_id)) {
		foreach ($image_galleries_id as $single_image_id) {
			wp_delete_post($single_image_id);
		}
	}
}

En el código anterior:

  • Usamos el Hook before_delete_post que hace referencia a la función dcms_delete_product_images
  • Dentro de la función comprobamos si el registro que se esta eliminando es un producto
  • Obtenemos el ID de la imagen destacada y también los IDs de las imágenes de galerías
  • Eliminamos los IDs obtenidos con la función wp_delete_post

 

Conclusión

Como has podido comprobar, puedes evitar el trabajo de eliminar manualmente las imágenes asociadas a un producto y hacerlo de manera automática con código, de esta forma además puedes liberar espacio de imágenes innecesarias en tu cuenta de hosting.

 

¿Me ayudas a llegar a más gente?

Twittear Compartir LinkedIn WhatsApp

Artículos Relacionados

  • Crear productos por programación en WooCommerceCrear productos por programación en WooCommerce
  • Mostrar las variaciones en la lista de productos de WooCommerceMostrar las variaciones en la lista de productos de WooCommerce
  • Comprar productos de la misma categoría en WooCommerceComprar productos de la misma categoría en WooCommerce
  • Agregar un único producto al carrito de WooCommerceAgregar un único producto al carrito de WooCommerce
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

WP CLI: Interfaz de línea de comandos para WordPress

Abrir enlaces externos en un nuevo tab automáticamente

Acortar el título del producto en la página de tienda de WooCommerce

Agregar efecto de partículas en WordPress

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