Obtenir la taille de la miniature de la publication

11

Je sais comment définir la taille d'un type d'image:

set_post_thumbnail_size( 150, 150 )

.. ou à l'aide des paramètres de support, mais comment puis-je obtenir l'image avec la hauteur d'image définie pour une taille d'image?

je voudrais quelque chose comme:

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

comment cela devrait-il être fait? Est-ce en utilisant get_option (), et quelles seraient les clés d'options pour la largeur et la hauteur des vignettes?

    
posée mikkelbreum 14.12.2011 - 22:59

7 réponses

7

Quand une taille d'image est ajoutée soit par WordPress ( add_image_size ), soit par un plugin ou votre propre code personnalisé, elle est ajoutée dans le $_wp_additional_image_sizes global, je ne trouve pas de fonction similaire permettant d'extraire des données à partir de celui-ci. global, mais vous pouvez certainement regarder à l'intérieur du global pour déterminer la largeur et la hauteur d'une taille d'image enregistrée.

Exemple:

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'];

Bien sûr, assurez-vous de référencer ces valeurs à un moment donné après avoir défini la taille. Ainsi, si vous définissez par exemple la taille de la vignette pendant l'initialisation, assurez-vous de faire le nécessaire après cette étape (sinon, vous récupérerez les tailles telles qu'elles étaient avant de les définir).

L’espoir que cela aide.

    
réponse donnée t31os 15.12.2011 - 14:54
15

Il existe cependant un autre moyen:

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

Remarque: thumbnail est l’une des tailles définies dans $_wp_additional_image_sizes . Ainsi, l'appel à get_option() fonctionnera également pour toutes les autres tailles d'image.

    
réponse donnée Mark 10.02.2012 - 09:43
2

En outre, il est très pénible de récupérer ces chiffres, un enrichissement central contenant un correctif terminé. Malheureusement, ce n’est toujours pas au cœur.

Suivez simplement l'évolution de ce ticket: Wordpress Trac: Enchance get_intermediate_image_sizes() pour contenir non seulement les noms, mais les tailles aussi.

    
réponse donnée kaiser 10.02.2012 - 15:42
1

N'oubliez pas que ce global $_wp_additional_image_sizes; pourrait ne pas fonctionner comme prévu. Par exemple, si using est dans le plug-in, il ne renverra pas les tailles supplémentaires enregistrées par un thème.

    
réponse donnée eeMZee 26.01.2012 - 22:37
1

Il ne manque plus que l'ID de la vignette:

$post_thumbnail_id = get_post_thumbnail_id( $post_id );
$attachment = wp_get_attachment_image_src( $post_thumbnail_id );
$width=$attachment[1];
$height=$attachment[2];
    
réponse donnée Alexander Poslavsky 20.07.2012 - 15:33
-1

Ce dont vous avez besoin est cette fonction: wp_get_attachment_image_src

Codex: enlace

Il renverra un tableau contenant l'URL, la largeur et la hauteur de la pièce jointe.

    
réponse donnée Mihael 14.12.2011 - 23:32
-1

En plus du message ci-dessus:

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

Ensuite, utilisez simplement le code suivant pour afficher l'URL, la largeur et la hauteur:

echo $attachment[0]; // url
echo $attachment[1]; // width
echo $attachment[2]; // height
    
réponse donnée Gerben Van Dijk 15.12.2011 - 11:18

Lire d'autres questions sur les étiquettes