Como nuestros usuarios cargan regularmente imágenes de ~ 6 MB para usar en el sitio web (y no están muy familiarizados con cómo cambiar su tamaño primero), WordPress almacena los originales y los redimensiona a varios tamaños diferentes.
Me gustaría una función o complemento que tome la imagen cargada, la redimensione a algo más manejable y luego reemplace la original.
He visto algunas funciones que eliminan el original pero no lo reemplazan, lo que significa que es imposible regenerar las miniaturas en una fecha posterior. Necesito que esto se reemplace para que el usuario pueda cargar una imagen grande y se redimensione automáticamente y se almacene para un cambio de tamaño futuro si es necesario.
Hay un error desagradable en la solución anterior. La solución funciona como un encanto para las nuevas imágenes, pero para las imágenes antiguas, nunca se debe comparar
$upload_dir['path']
porque esa es la carpeta de carga actual del mes actual.Reemplace lo siguiente:
fuente
¿Puedo sugerir una actualización del código de la respuesta anterior? Desafortunadamente, en las versiones más recientes de Wordpress, la clave 'ruta' ya no se proporciona para los tamaños de archivo. Por lo tanto, para que funcione en cargas de publicaciones anteriores, primero debemos obtener el subdirectorio actual de la imagen original y usar esto para hacer la ruta de ubicación para la imagen grande.
Entonces reemplace esta línea:
por estas 2 líneas:
fuente
Publiqué esto en otra pregunta muy similar aquí, pero pensé que valía la pena volver a publicarlo.
Tuve problemas con el código anterior y lo que funcionó para mí fue esencialmente cambiar estas líneas:
con:
Publiqué mi código completo y más explicaciones aquí: ¿ Eliminar imagen original - mantener miniatura?
fuente