¿Cuál es la diferencia entre set_post_thumbnail_size y add_image_size? ¿Es set_post_thumbnail_size para todas las imágenes y add_image_size para dimensionar imágenes individualmente?
Gracias.
fuente
¿Cuál es la diferencia entre set_post_thumbnail_size y add_image_size? ¿Es set_post_thumbnail_size para todas las imágenes y add_image_size para dimensionar imágenes individualmente?
Gracias.
Cuando se carga una imagen en WordPress, se guarda en su tamaño original y también como algunas copias redimensionadas en diferentes tamaños. De esta manera, se vuelve fácil usar diferentes tamaños, de la misma imagen, para diferentes propósitos.
Por defecto, WordPress crea 3 copias en 3 tamaños diferentes:
'thumb'
'medium'
'large'
El tamaño en píxeles para estos 3 tamaños se puede establecer en el panel de WordPress, debajo del menú Settings -> Media
.
Ahora, la función add_image_size
se utiliza para registrar un nuevo tamaño, que se suma a los 3 valores predeterminados.
Cada tamaño registrado puede ser recuperada usando su nombre, en alguna función de WordPress, por ejemplo wp_get_attachment_image_src
, wp_get_attachment_image
, wp_get_attachment_link
.
Todas estas funciones aceptan un parámetro $size
que debería ser el nombre de uno de los tamaños registrados (uno de los 3 estándares, o uno de los tamaños personalizados registrados con add_image_size
).
Si 'full'
se usa como $size
argumento, se devuelve la imagen original y no se cambia el tamaño.
Además de las funciones mencionadas anteriormente, hay otras dos funciones que utilizan tamaños de imagen: get_the_post_thumbnail
y the_post_thumbnail
.
Estas dos funciones obtienen (la primera) y hacen eco (la segunda) de la imagen que se establece como "Imagen destacada" para una publicación.
Lo que estas funciones devuelven (o repiten) es una img
etiqueta html completa , algo así como
<img scr="http://www.example.com/wp-content/2013/08/image-200x200.jpg" />
Entonces, ¿cuál es el tamaño utilizado?
Si $size
se pasa a como segundo argumento (primero es $postid
), estas funciones devuelven la imagen en ese tamaño. De lo contrario, estas funciones de búsqueda para un tamaño de la imagen registrada con el nombre de: post-thumbnail
.
Este no es uno de los 3 tamaños predeterminados, de hecho, es el cuarto tamaño estándar (se considera el quinto full
) y puede registrarlo llamando set_post_thumbnail_size
.
Entonces
set_post_thumbnail_size( $width, $height, $crop );
es un atajo para
add_image_size( 'post-thumbnail', $width, $height, $crop );
Si no ha llamado set_post_thumbnail_size
(lo que significa que el tamaño 'post-thumbnail'
no se creó), WordPress usará el tamaño thumb
, e incluso si este tamaño no está disponible, WordPress usará la imagen original, la que no ha cambiado de tamaño.
El registro de tamaños de imagen personalizados puede ser muy útil al diseñar un tema, pero es importante no abusar: cada imagen cargada se copia y cambia de tamaño para todos los tamaños registrados, por lo que registrar muchos tamaños ralentizará en gran medida el proceso de carga de imágenes.
Una nota:
Tenga en cuenta que cuando WordPress crea copias a escala de una imagen, nunca la amplía, sino que solo hace copias más pequeñas: por ejemplo, si la imagen original es de 400x500px y el tamaño de imagen 'medio' es de 800x600px, no se crea tamaño mediano y más grande .
Por lo tanto, registrar un tamaño de imagen nunca da la seguridad de que realmente exista un archivo de imagen para cada tamaño registrado en la carpeta de contenido de WordPress. Incluso porque los tamaños de imagen registrados cambian fácilmente: cambiar la configuración, cambiar temas, etc.
Cuando un tamaño de imagen cambia, por cualquier motivo, el cambio tiene un efecto en las imágenes cargadas después de ese cambio; las imágenes cargadas antes no cambian las dimensiones y no se vuelven a escalar ni a guardar.
Si uno necesita confiar en tamaños de imagen específicos después de que algunas imágenes ya están cargadas (por ejemplo, después de cambiar temas), entonces el complemento Regenerar miniaturas será un salvavidas.
set_post_thumbnail_size( 150, 150 ); If you haven't called set_post_thumbnail_size (which means the size 'post-thumbnail' is not created), WordPress will use the size thumb, and if even this size is not available, WordPress will use the original image, the one not resized.
... es incorrecto. En mi experiencia al probar esto, siset_post_thumbnail_size()
no se ha llamado, WP vuelve a la imagen a tamaño completo.De Codex:
set_post_thumbnail_size
add_image_size
fuente