Obtener tamaño de miniatura de publicación

11

Sé cómo establecer el tamaño de un tipo de imagen:

set_post_thumbnail_size( 150, 150 )

..o uso de la configuración de medios, pero ¿cómo obtengo la imagen y la altura de la imagen que se han establecido para un tamaño de imagen?

Me gustaría algo como:

get_post_thumbnail_size(); // return array(150, 150)

¿Cómo debería hacerse esto? ¿Es mediante el uso de get_option () y cuáles serían las claves de opciones para el ancho y el alto de la miniatura?

    
pregunta mikkelbreum 14.12.2011 - 22:59

7 respuestas

7

Cuando WordPress ( add_image_size ) agrega un tamaño de imagen, o un complemento o su propio código personalizado se agrega al $_wp_additional_image_sizes global, no puedo encontrar una función similar para extraer datos de ese global, pero ciertamente podría mirar dentro del global para determinar qué ancho y altura tiene un tamaño de imagen registrado.

Ejemplo :

global $_wp_additional_image_sizes;
// Output width
echo $_wp_additional_image_sizes['post_thumbnail']['width'];
// Output height
echo $_wp_additional_image_sizes['post_thumbnail']['height'];

Por supuesto, asegúrese de hacer referencia a esos valores en un punto después de haber establecido el tamaño. Entonces, si, por ejemplo, está configurando el tamaño de la miniatura durante el inicio, deberá asegurarse de hacer lo que sea necesario después de ese punto (de lo contrario, recuperará los tamaños como estaban antes de configurarlos).

Espero que ayude.

    
respondido por el t31os 15.12.2011 - 14:54
15

Sin embargo, hay otra forma:

get_option( 'thumbnail_size_w' );
get_option( 'thumbnail_size_h' );

Nota: thumbnail es uno de los tamaños establecidos dentro de $_wp_additional_image_sizes . Por lo tanto, la llamada a get_option() también funcionará para cualquier otro tamaño de imagen.

    
respondido por el Mark 10.02.2012 - 09:43
2

Como una adición a la razón por la que es tan difícil recuperar estos números, un complemento del núcleo que contiene un parche terminado. Lamentablemente todavía no está en el núcleo.

Simplemente siga el progreso de este ticket: Wordpress Trac: Enchance get_intermediate_image_sizes() para contener no solo los nombres, sino los tamaños también.

    
respondido por el kaiser 10.02.2012 - 15:42
1

Tenga en cuenta que este global $_wp_additional_image_sizes; podría no funcionar como se esperaba. Por ejemplo, cuando el uso está en el complemento, no devolverá los tamaños adicionales que un tema ha registrado.

    
respondido por el eeMZee 26.01.2012 - 22:37
1

Lo único que falta es el ID de la miniatura:

$post_thumbnail_id = get_post_thumbnail_id( $post_id );
$attachment = wp_get_attachment_image_src( $post_thumbnail_id );
$width=$attachment[1];
$height=$attachment[2];
    
respondido por el Alexander Poslavsky 20.07.2012 - 15:33
-1

Lo que necesitas es esta función: wp_get_attachment_image_src

Codex: enlace

Devolverá una matriz que contiene la URL, el ancho y la altura del archivo adjunto.

    
respondido por el Mihael 14.12.2011 - 23:32
-1

Además de la publicación anterior:

$attachment = wp_get_attachment_image_src( $attachment_id ); // where $attachment_id is the ID of the attachment you want to get the thumbnail from

Luego simplemente use el siguiente código para mostrar la URL, el ancho y la altura:

echo $attachment[0]; // url
echo $attachment[1]; // width
echo $attachment[2]; // height
    
respondido por el Gerben Van Dijk 15.12.2011 - 11:18

Lea otras preguntas en las etiquetas