web-dev-qa-db-fra.com

Ajout de largeur et de hauteur à wp_get_attachment_image_src

J'essaie d'ajouter les attributs width et height à wp_get_attachment_image_src. Pourquoi cette largeur et cette hauteur renvoyées sont-elles: 0?

<?php 
$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'two' );

if ($image) : ?>
    <img class="attachment-two" src="<?php echo $image[0]; ?>" width="<?php echo $image[1]; ?>" height="<?php echo $image[2]; ?>" />
<?php endif; ?> 

Je vous remercie!

1
Juárez

À quoi se réfère 'two'? Est-ce une taille d'image personnalisée?

Placez la var_dump('<pre>',$image,'</pre>'); suivante après votre variable $image déclarée comme suit,

$image = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), 'two' );
var_dump('<pre>',$image,'</pre>');

et fournir les résultats afin que nous puissions inspecter la sortie.

Selon le Codex, le deuxième argument de cette fonction,

wp_get_attachment_image_src ($ attachment_id, $ taille, icône $);

... fait référence à la taille spécifiée que vous souhaitez retourner.

$size (string/array) (optional) Taille de l'image affichée pour une pièce jointe: un mot-clé de chaîne (vignette, moyen, grand ou complet) ou un tableau à 2 éléments représentant la largeur et la hauteur en pixels, par ex. tableau (32,32). Depuis la version 2.5, ce paramètre n'affecte pas la taille des icônes de support, qui sont toujours affichées à leur taille d'origine.

    Default: thumbnail

Par conséquent, 'two' devrait faire référence au nom de la taille d’image personnalisée que vous avez ajoutée avec,

add_image_size( $name, $width, $height, $crop );

http://codex.wordpress.org/Function_Reference/add_image_size

Avez-vous fait cela?

Siyes, l'image existait-elle avant la création de la taille d'image personnalisée ou après la création de la taille d'image personnalisée?

Si l'image existait avant la création de la taille d'image personnalisée, l'image en question que vous tentez de récupérer n'a pas la taille d'image appliquée en tant que version générée de celle d'origine. Vous auriez besoin de régénérer les vignettes pour l’appliquer, c’est le cas.

2
userabuser