Hola,
Gracias a vuestra ayuda en este topic https://www.webempresa.com/foro/preguntas-sobre-wordpress/reducir-numero-de-imagenes#post-412460, ya hemos eliminado todas las miniaturas que se creaban de una imagen a excepción de la woocommerce_thumbnail 300 x 300 que es la única que queremos utilizar.
Pero ahora nos planteamos si sería posible que al subir una imagen, se cree únicamente esa miniatura y NO se conserve la imagen original, que en general es más pesada y tiene unas dimensiones mayores, por lo que nos ocupa demasiado espacio y nunca la utilizamos.
Por ejemplo, esta imagen tiene unas dimensiones de 1000 x 1000 y un tamaño de 125 KB. ¿Podríamos hacer que al subirla se cree únicamente la miniatura de 300 x 300 y que NO se conserve la original de 1000 x 1000?: https://www.homyroom.es/?attachment_id=182676
¿Hay algún plugin para poder hacer esto?
Muchas gracias como siempre por vuestra ayuda.
Contenido solo visible a usuarios registrados
Hola Alba,
Wordpress no permite dicho ajuste por que la imagen original debe mantenerse en caso de que se necesite rehacer la versión escalada de la misma, una solución seria el únicamente subir imágenes de 300x300 en lugar de 1000x1000 y conservar estas como único duplicado.
Una opcion seria hacerlo mediante codigo, puedes verificar con este:
Contenido solo visible a usuarios registrados
add_filter('wp_generate_attachment_metadata', 'txt_domain_delete_fullsize_image');
function txt_domain_delete_fullsize_image($metadata)
{
$upload_dir = wp_upload_dir();
$full_image_path = trailingslashit($upload_dir['basedir']) . $metadata['file'];
$deleted = unlink($full_image_path);
return $metadata;
}
Sin embargo muy importante ten a la mano un respaldo de tu sitio ya que hay ciertos ajustes básicos como por ejemplo la galería de medios que funcionan con las imágenes originales no con los resize, podrías generar algún conflicto y en este caso tendrías que volver a una versión estable del sitio.
Si con este código no logras esto ya tendrías que consultarlo con nuestros colaboradores > https://www.webempresa.com/directorio-colaboradores.html , ya que es un ajuste que va mas allá de un complemento.
Un saludo 🖐️
@argenis Ok, pero y en ese código no habría que añadir que solo quiero imágenes de 300 x 300?
Hola Alba,
Disculpa si no te explique bien el funcionamiento del código, este lo que hace es eliminar la imagen original luego de que hace el cambio en el tamaño del archivo para tu versión de 300x300 que es la única que tienes activa.
Adicional a esto no te he indicado donde subirlo, este código va en:
Cpanel > Administrador de archivos > Public_html > Dominio > wp-content > themes > tema o tema hijo > archivo functions.php
Esto lo agregas al final del todo.
Ten en cuenta las consideraciones generales (respaldo y cuidado con algunas herramientas bases que pueden ser afectadas por el codigo).
Un saludo 🖐️
@argenis Hola,
Hemos probado el código y es cierto que elimina la imagen original pero en nuestro caso no conserva la miniatura de 300 x 300.
Lo hemos probado subiendo algunos productos y aparecen directamente sin imágenes.
¿Cómo podemos hacer para que se conserve la miniatura de 300 x 300?
Gracias!
Hola Alba.
Si la imagen que subes es del mismo tamaño que laque tiene que generar, no creara esa imagen y eliminara la que subiste.
Las imagenes tienen que tener un tamaño distinto, otra opción es que subas imagenes solo con el tamaño que necesitas.
Un saludo
Hola,
Creo que ahora sí he conseguido hacer que funcione porque se genera la imagen 300 x 300 para el producto y parece que no llega a crearse la imagen original.
Aunque en la biblioteca de medios aparece la imagen en miniatura y cuando se le da a "Editar" aparecen sus dimensiones reales pero con esa pantalla vacía sin imagen:
¿Esto significa que ha funcionado el código correctamente y la imagen original no se ha generado y por tanto no nos ocupa espacio?
Un saludo.
Que tal Alba,
Si al revisar tu biblioteca de medios persiste la información de la imagen original sin embargo no aparece disponible quiere decir que la información mostrada es la guardada en la base de datos al momento de la carga sin embargo la imagen no existe, puedes validar esto al revisar la URL de la imagen en cuestión o revisar desde el Cpanel siguiendo la ruta que te delimite la propia URL algo similar a lo siguiente
Cpanel > Administrador de archivos > Public_html > Dominio > wp-uploads > numero de carpeta
Nos comentas si podemos dar el tema por resuelto, Saludos!
Saludos!
Hola,
Estamos usando el código que nos disteis aquí para eliminar las imágenes originales y el plugin "Stop Generating Unnecesary Thumbnails" que también nos recomendasteis para conservar únicamente la miniatura de 300 x 300 y en general nos está funcionando bastante bien.
Pero nos sigue dando problemas con algunas imágenes de las que no se conserva la miniatura, como las de algunos de los productos que aparecen aquí: homyroom.es/productos/page/148/?filters=tienda%5Bla-redoute%5D
A modo ejemplo esta sería una de las imágenes cuya miniatura no se conserva: ?width=250&auto=webp&quality=100
¿Puede ser porque esa imagen tiene una dimensión inferior a 300 x 300?
¿Cómo podríamos hacer para que se genere la miniatura 300 x 300 en ese caso pero sin que se conserve la imagen original?
Muchas gracias como siempre por vuestra ayuda!
Hola Alba,
Tendrías que subir la imagen con un tamaño superior a 300x300 como te indico Pepe previamente:
Si la imagen que subes es del mismo tamaño que laque tiene que generar, no creara esa imagen y eliminara la que subiste.
Las imagenes tienen que tener un tamaño distinto, otra opción es que subas imagenes solo con el tamaño que necesitas.
Si te genera muchos problemas también tienes la opción de deshabilitar toda reducción de tamaño y subir únicamente las imágenes en 300x300.
Un saludo 🖐️
@argenis Hola,
Justo eso último que comentas es lo que hacemos: deshabilitar toda reducción de tamaño y subir únicamente las imágenes en 300x300 pero algunas imágenes como la que ponemos de ejemplo no se suben.
Y eso que tiene un tamaño distinto tal y como indica Pepe.
¿Cómo podemos solucionarlo?
Gracias de nuevo.
Hola Alba,
El problema esta en que están dejando el código que te hemos compartido, este código lo que hace es que elimina la original, por lo tanto si subes una imagen y desactivas la compresión a 300x300 entonces el código borrara dicha imagen, en caso de elegir la opción de subir directamente la imagen en 300x300 elimina el código que te hemos compartido previamente, es decir este:
add_filter('wp_generate_attachment_metadata', 'txt_domain_delete_fullsize_image');
function txt_domain_delete_fullsize_image($metadata)
{
$upload_dir = wp_upload_dir();
$full_image_path = trailingslashit($upload_dir['basedir']) . $metadata['file'];
$deleted = unlink($full_image_path);return $metadata;
}
De lo contrario tendrás errores de imágenes faltantes, ahora si subes una imagen que es por ejemplo 1000x1000 si debes activar la redimensión a 300x300 para que la comprima y una vez lo haga el script, o código que esta aquí previamente elimine la imagen.
Espero que con esto se entendiera un poco mas el funcionamiento del mismo.
Nos comentas que tal te va.
Un saludo 🖐️
Hola,
El problema de arriba que teníamos se resolvió en la versión pc pero nos hemos dado cuenta ahora de otro problema similar en la versión responsive - móvil de nuestra web y es que no se genera la miniatura correcta para que se vean las imágenes:
https://www.homyroom.es/productos/?orderby=date
Es decir, ahora mismo tenemos desactivada la generación de la imagen original con el código que nos disteis en este topic y activado que se genere solamente la miniatura "woocommerce-thumbnail 300x300" con el plugin que nos explicasteis aquí: https://www.webempresa.com/foro/preguntas-sobre-wordpress/reducir-numero-de-imagenes#post-412460,
Por lo que la pregunta es, ¿qué miniatura necesitamos generar para que se vean esas imágenes en la versión responsive?
Gracias por vuestra ayuda.
Hola Alba.
Por lo que veo la imagen que carga es de 150px
Creo que te estas complicando la vida con esto, personalmente no eliminaría lo de generar las imagenes, como mucho imagenes grandes pero las miniaturas no las eliminaría.
Ten en cuanta que tanto la plantilla como los plugins generan sus propias imagenes y es independiente del media de WordPress.
Un saludo
De acuerdo pero entonces, ¿hay algún plugin que detecte automáticamente las miniaturas que no se utilizan y las pueda eliminar?
Un saludo.