Cómo eliminar imágenes de WooCommerce no utilizadas de su Dokan Marketplace

Publicado: 2022-04-06

¿Está buscando soluciones para eliminar imágenes mientras realiza la eliminación masiva de productos de WooCommerce?

Al ejecutar un negocio en línea, debe estar atento. Debe estar al tanto de todo, como la moda de moda, las nuevas tendencias y los productos obsoletos de su tienda. Puede mantener su sitio actualizado con los últimos productos que tienen más probabilidades de ser vendidos.

Para mantener tu tienda actualizada, en ocasiones es necesario eliminar algunos productos que llevan mucho tiempo sin venderse o productos que están fuera de temporada. Para una tienda WooCommerce, puede hacerlo fácilmente usando la configuración predeterminada de WooCommerce o ejecutando un comando SQL.

Pero el problema es que WordPress no elimina los medios al eliminar una publicación. Esto podría ser un problema importante para un sitio de comercio electrónico o un mercado que tenga miles de imágenes de alta calidad.

En el siguiente blog, aprenderá cómo eliminar imágenes de WooCommerce de la galería al eliminar un producto tanto para una tienda única como para un mercado de múltiples proveedores.

Por qué debería eliminar las imágenes de productos de WooCommerce después de eliminar ese producto

Debe cargar muchos productos con miles de imágenes relacionadas para su tienda de comercio electrónico. Y a veces también es muy normal eliminar algunos productos de su sitio debido a algunas razones. Después de eliminar un producto, si revisa su biblioteca de medios, encontrará todas las imágenes que se usaron para sus productos eliminados.

Esto significa que después de eliminar un producto en WooCommerce, el sistema elimina la mayoría de los datos asociados con él. Pero la imagen de ese producto permanecerá en la base de datos y en la carpeta multimedia. Hará que su sitio sea innecesariamente pesado.

Beneficios de eliminar imágenes de productos después de eliminar ese producto
1. Mejorar el rendimiento del sitio
2. Aumente la velocidad de la tienda minimizando el almacenamiento del servidor
3. Mantén el sitio liviano
4. Cree más espacio para cargar más
5. Optimiza la base de datos de la tienda

Para los propietarios de mercados, el escenario es un poco más complejo. Es muy difícil monitorear todos los archivos multimedia cargados por diferentes proveedores. Ya que un vendedor posiblemente suba todos los días una buena cantidad de productos y además borre muchos de los existentes. A su vez, las imágenes de sus productos pueden reducir el espacio de su servidor, lo que no es bueno para el rendimiento de su sitio.

En ese caso, sería beneficioso eliminar toda la imagen destacada y la imagen de la galería si el usuario/proveedor elimina algún producto.

Pero puede surgir otro problema si alguien usa las mismas imágenes en varias publicaciones.

Bueno, hoy te mostraremos soluciones para manejar todos estos obstáculos.

¿Cómo eliminar imágenes de Woocommerce después de eliminar un producto?

eliminación masiva de productos de WooCommerce

Aquí, vamos a usar el enlace: before_delete_post . Consulta los detalles sobre este anzuelo aquí.

Siga los pasos a continuación para eliminar imágenes no utilizadas durante la eliminación masiva de productos de WooCommerce:

  • Paso 1: crea un tema secundario
  • Paso 2: implemente el código dentro de su tema secundario
  • Paso 3: verifique el resultado de su tienda en línea

Paso 1: crea un tema secundario

En primer lugar, crea un tema hijo. Debe modificar este tema secundario ya que esta mejora está relacionada con el tema.

Crear una carpeta para el tema hijo

Puede seguir esta guía para crear un tema hijo con facilidad. O use cualquier complemento de WordPress para crear un tema secundario.

Paso 2: implemente el código dentro de su tema secundario

A continuación, abra su child-theme functions.php y pegue el siguiente código:

 // Automatically Delete Woocommerce Images After Deleting a Product add_action( 'before_delete_post', 'delete_product_images', 10, 1 ); function 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 ); } } }

Paso 3: verifique el resultado de su tienda en línea

Después de insertar el código, guarde functions.php. Ahora ve a tu tienda WooCommerce y elimina un producto. También eliminará las imágenes asociadas.

eliminar imágenes

Cómo eliminar imágenes de productos de WooCommerce en Dokan Marketplace

Ahora le mostraremos cómo eliminar imágenes de Woocommerce después de eliminar productos dentro de un mercado. Le ayuda a liberar espacio en el servidor y reducir el desorden de la biblioteca de medios.

En este caso, pegue el siguiente fragmento de código dentro del archivo functions.php de su tema:

 <?php add_action( 'before_delete_post', function( $id ) { $product = wc_get_product( $id ); if ( ! $product ) { return; } $all_product_ids = []; $product_thum_id_holder = []; $gallery_image_id_holder = []; $thum_id = get_post_thumbnail_id( $product->get_id() ); if ( function_exists( 'dokan' ) ) { $vendor = dokan()->vendor->get( dokan_get_current_user_id() ); if ( ! $vendor instanceof WeDevs\Dokan\Vendor\Vendor || $vendor->get_id() === 0 ) { return; } $products = $vendor->get_products(); if ( empty( $products->posts ) ) { return; } foreach ( $products->posts as $post ) { array_push( $all_product_ids, $post->ID ); } } else { $args = [ 'posts_per_page' => '-1' ]; $products = wc_get_products( $args ); foreach ( $products as $product ) { array_push( $all_product_ids, $product->get_id() ); } } foreach ( $all_product_ids as $product_id ) { if ( intval( $product_id ) !== intval( $id ) ) { array_push( $product_thum_id_holder, get_post_thumbnail_id( $product_id ) ); $wc_product = wc_get_product( $product_id ); $gallery_image_ids = $wc_product->get_gallery_image_ids(); if ( empty( $gallery_image_ids ) ) { continue; } foreach ( $gallery_image_ids as $gallery_image_id ) { array_push( $gallery_image_id_holder, $gallery_image_id ); } } } if ( ! in_array( $thum_id, $product_thum_id_holder ) && ! in_array( $thum_id, $gallery_image_id_holder ) ) { wp_delete_attachment( $thum_id, true ); if ( empty( $thum_id ) ) { return; } $gallery_image_ids = $product->get_gallery_image_ids(); if ( empty( $gallery_image_ids ) ) { return; } foreach ( $gallery_image_ids as $gallery_image_id ) { wp_delete_attachment( $gallery_image_id, true ); } } } );

Ahora, cada vez que un proveedor elimine un producto del mercado, las imágenes del producto asociado desaparecerán automáticamente de la biblioteca de medios.

Bonificación: cuando necesita eliminar productos de WooCommerce de forma masiva

eliminación masiva de productos de WooCommerce

Es una buena idea eliminar las imágenes no utilizadas de su galería de medios. Estas imágenes no agregan valor a su tienda. Más bien dificulta el rendimiento de su sitio. Pero primero, debe decidir qué productos debe eliminar de su tienda en línea.

Hemos resaltado el tipo de productos que puede necesitar eliminar de forma masiva:

  • Productos de temporada
  • productos cíclicos
  • Productos agotados
  • Productos que no se venden
  • Productos de prueba

Productos de temporada: Algunos productos pueden perder su demanda después de un período de tiempo específico. Puede agregar nuevos productos de invierno, por ejemplo, en su tienda para el período de tiempo más frío del año. Pero tras la llegada de la primavera, la demanda de este tipo de productos caería y pronto estarían totalmente fuera de moda. Y necesita eliminar de forma masiva los productos de WooCommerce de su tienda.

Productos cíclicos: el inventario debe reponerse con nuevos productos a intervalos regulares. Por ejemplo, después de un festival especial, debe eliminar los productos antiguos de la tienda y cargar otros nuevos.

Productos agotados: Productos que no están disponibles en el stock y con menor posibilidad de reposición, sería mejor deshacerse de esos productos.

Productos que no se venden: si tiene productos en su inventario que no se venden comúnmente, debe eliminar esos productos de su tienda. Porque estos productos solo aumentarán su responsabilidad y desperdiciarán su espacio.

Productos de prueba: Muchas veces antes de lanzar el producto original hay que introducir muchos productos de prueba para ver si funciona bien. Una vez que inicie el producto principal, es mejor eliminar los productos de prueba.

Recurso relacionado: ¡ Tipos de productos que puede crear con WooCommerce!

A ti

Puede haber varias situaciones en las que necesite eliminar productos de WooCommerce de forma masiva. Y no sería difícil como usuario de WordPress. Pero enfrenta dificultades cuando, después de eliminar un producto, las imágenes del producto relacionado aún permanecen en la biblioteca de medios.

La guía anterior lo ayuda a incluir un proceso automático para eliminar imágenes al eliminar un producto en WooCommerce.

¿Todavía tienes preguntas sobre cómo eliminar de forma masiva los productos de WooCommerce y las imágenes de productos con ganchos de acción? ¡Cuéntanos en los comentarios!

Suscríbete al blog de weDevs

Enviamos boletines semanales, sin spam seguro