Tengo 1000 imágenes ¿Cómo puedo hacer que wordpress genere el pulgar solo cuando sea necesario? Por ejemplo, el control deslizante de inicio solo usará 10 imágenes. No quiero que las otras 1000 imágenes tengan esa miniatura generada, ya que es una pérdida de espacio y recursos.
¿Hay una manera de disparar add_image_size solo cuando sea necesario?
Gracias
ACTUALIZACIÓN Como mencionas, realmente no es add_image_size lo que necesita para ser disparado. Lo que sería genial es disparar el tamaño de la imagen cuando uso the_post_thumbnail ('slider-thumb'); Tal vez esto ralentice la primera vista de la imagen, pero esa vista generalmente la genero cuando reviso la publicación, así que no me importa.
Entonces, entre mis publicaciones, el control deslizante, las miniaturas de blog, las miniaturas de cartera, etc., obtuve 1000 imágenes y quiero que solo se cambien el tamaño de 10 imágenes para el control deslizante, veo muchos recursos desperdiciados para generar el tamaño de miniatura para las otras 990 imágenes.
Espero que esté claro ahora, perdón por mi inglés
Respuestas:
Eche un vistazo al complemento Dynamic Image Resizer de Otto
fuente
Ponga esto en su archivo de funciones de tema. Evitará que Wordpress cree cualquier cosa que no sean los 3 tamaños predeterminados al cargar.
Cuando se solicita una imagen en un tamaño particular, que aún no se genera, se creará solo esa vez.
fuente
Lamentablemente, la respuesta de @ Patrick rompe las funciones srcset introducidas en WP 4.4. Afortunadamente, ¡solo necesitamos agregar dos funciones adicionales!
Primero, necesitamos reintroducir temporalmente todos los tamaños de miniatura registrados en los metadatos de la imagen para que puedan considerarse:
Luego, necesitamos revisar las coincidencias y generar las miniaturas que faltan:
fuente
En realidad,
add_image_size()
no genera la miniatura, solo registra un tamaño de imagen disponible para WordPress.Por lo general, las miniaturas se generan cuando la imagen se carga por primera vez. Es un proceso automático para que no tenga que preocuparse por generarlos más tarde. Piénselo de esta manera: si se necesitan 1-2 segundos para generar una miniatura en un servidor lento, y espera hasta que se solicite, obliga al solicitante a esperar 1-2 segundos adicionales por imagen para ver el contenido. Es mucho más fácil hacer esto con anticipación, es decir, cuando se carga la imagen.
Al mismo tiempo, si absolutamente debe procesar las miniaturas en un momento diferente, es posible que desee echar un vistazo al complemento Regenerate Thumbnails de Viper . Utiliza una acción a pedido para regenerar todas las miniaturas de sus imágenes ... pero podría usar un código similar para generar miniaturas solo cuando sea necesario.
fuente
No exactamente. Pero puede filtrar la lista de tamaños registrados justo antes de que se generen las miniaturas. La función wp_generate_attachment_metadata () (que llama a la función que genera las miniaturas) tiene un filtro llamado "intermedia_image_sizes_advanced", que le permite manipular la matriz de tamaños justo antes de que se generen los archivos. Puede usar este filtro siempre que agregue una imagen de un "tipo" determinado y luego eliminarlo inmediatamente después.
Supongo que su mayor desafío sería descubrir cómo diferenciar entre las imágenes que necesitan los tamaños adicionales y las que no.
fuente
Puede usar mi (no Ottos) "Dynamic Image Resize" 1) complemento.
El complemento viene con una etiqueta de plantilla y un código corto también.
1) Me acabo de enterar del complemento Ottos. La colisión de nombres no fue intencionada.
fuente
Puede probar este complemento: https://wordpress.org/plugins/optimize-images-resizing
Cambia el tamaño de las imágenes según el tamaño de la imagen registrada, pero solo cuando es necesario. También puede limpiar los tamaños de imagen existentes para que puedan regenerarse.
fuente
El complemento WP Performance Pack ofrece un "manejo mejorado de la imagen", que se basa en Ottos Dynamic Image Resizer, pero incluye muchas mejoras, por ejemplo: en primer lugar, es compatible con la última versión de WordPress (3.9.1), utiliza WP_Image_Editor, el ahorro de miniaturas puede se puede desactivar (pero se pueden almacenar en caché y CDN Support está en funcionamiento), regenerar la integración de miniaturas (para eliminar miniaturas existentes) y algunas más.
fuente
Puedes probar también Aqua Resizer - https://github.com/syamilmj/Aqua-Resizer/
Es solo un archivo.
Puedes usarlo así:
fuente
Aquí otro enfoque más: se engancha en el manejo de errores 404 HTTP. Es decir, cuando la miniatura no está disponible, busque la imagen original y cree la miniatura. Tenga en cuenta que esto realmente no resuelve su problema, ya que no impide la generación de miniaturas durante la carga.
Tenga en cuenta también que este complemento puede ser utilizado por usuarios malintencionados para crear cualquier cantidad de miniaturas y, por lo tanto, agotar su espacio en disco.
Nota: este complemento se puede instalar fácilmente con Pluginception .
fuente