web-dev-qa-db-fra.com

Obtenir la taille de la miniature du post

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

set_post_thumbnail_size( 150, 150 )

..ou en utilisant les 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?

11
mikkelbreum

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 pour extraire des données de ce global, mais vous pouvez certainement Regardez à 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 leur définition).

J'espère que cela pourra aider.

7
t31os

Il y a 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.

15
Mark

En outre, il est très difficile de récupérer ces chiffres, une amélioration de base qui contient un correctif terminé. Malheureusement, ce n'est pas encore au cœur.

Suivez simplement la progression de ce ticket: Wordpress Trac: Enchance get_intermediate_image_sizes() pour contenir non seulement les noms, mais également les tailles.

2
kaiser

Gardez à l'esprit 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.

1
eeMZee

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];
1
Alexander Poslavsky