set_post_thumbnail_size( 80, 80, true ); // true for all post types
Supongamos que tengo dos tipos de publicaciones en juego en mi blog: Publicación, Video y Producto. Es posible que desee un tamaño de imagen de 80x80 para mis publicaciones, pero 100x100 para mis videos y 50x100 para mis Productos. Que yo sepa, me veo obligado a crear miniaturas para mis imágenes de Post en las dimensiones de 100x100 y también 50x100. Y para mis productos, me veo obligado a crear miniaturas de 80x80 y 100x100, aunque nunca las usaré.
¿Hay alguna manera de crear tamaños de imagen que se basen en tipos de publicación para que no termines haciendo un montón de imágenes que no planeas usar y desperdiciando recursos que podrían usarse en otro lugar?
custom-post-types
images
post-thumbnails
Sampson
fuente
fuente
Respuestas:
No hay forma de basar los tamaños de imagen en el tipo de publicación, ya que las imágenes aún no se adjuntan a una publicación cuando las sube y se crean los tamaños de imagen intermedios (cuando las agrega a través de "Nuevos medios", ni siquiera se adjuntan a cualquier publicación en absoluto).
Sin embargo, recientemente creé dos complementos que juntos harán lo que quieras. Las imágenes intermedias virtuales interceptarán la creación de los tamaños de imagen intermedios: no se crearán en el disco, pero aún existen en la matriz de metadatos. Esto hace que WordPress piense que existen para que pueda usarlas como imágenes normales. El complemento complementario, On-Demand Resizer creará tamaños de imagen faltantes cuando se soliciten. La primera vez que se solicita la imagen, se crea, todas las solicitudes posteriores solo recibirán la imagen recién creada.
Estos complementos necesitan reescribirse antes de ponerlos en el directorio de complementos de WordPress, pero deberían ser seguros. O al menos tenga
TODO
comentarios donde no sean seguros.fuente
Publiqué un código en este otro hilo que establece un transitorio con el tipo de publicación al cargar una imagen, y luego comprueba el valor de ese transitorio y ajusta el tamaño de la miniatura de la publicación en consecuencia cuando finaliza la carga. No es perfecto ni a prueba de balas, pero al menos debe demostrar el concepto.
fuente
Se me ocurrió la siguiente solución. Realmente crea imágenes solo para el tipo de publicación personalizada sin crear ninguna adicional. El único problema es que si usa complementos como campos personalizados avanzados, cuando intenta representar el campo de la galería, solo muestra los tamaños de imágenes de wordpress predeterminados: 'miniatura', 'medio', 'grande' y no puede acceder a los tamaños de imagen de publicación personalizados creados .
}
fuente