J'ai le code suivant dans mon thème:
<?php
$size = 'large';
$postimage = wp_get_attachment_image_src( get_post_thumbnail_id( $post->ID ), $size );
$url = $postimage[0];
$h = $postimage[2]
?>
<div style="background-image: url(<?php echo $url; ?>); height: <?php echo $h; ?>;"></div>
Voici un exemple de sortie var_dump
pour $ postimage:
array(3) {
[0]=> string(99) "{base url here}/uploads/2013/10/h3greendeck.jpg?fit=660%2C660"
[1]=> bool(false)
[2]=> bool(false)
}
Si je supprime l'argument size
de wp_get_attachment_image_src()
pour le laisser utiliser par défaut, j'obtiens le même résultat. Pourquoi la taille est-elle renvoyée alors que WordPress connaît la taille de l'image? Cela se produit pour chaque instance de ce code, quel que soit le message que je regarde.
Cela ressemble à une description du service Photon de JetPack .
Photon est un service d’accélération et de modification d’image pour les sites WordPress connectés à Jetpack. Les images converties sont automatiquement mises en cache et diffusées à partir du CDN WordPress.com. Les images peuvent être recadrées, redimensionnées et filtrées à l'aide d'une API simple contrôlée par des arguments de requête GET. Lorsque Photon est activé dans Jetpack, les images sont mises à jour à la volée.
L'API Photon inclut le paramètre fit
GET :
http://i0.wp.com/example.com/wp-content/uploads/2014/04/abc.jpg?fit=600%2C400
où %2C
est une virgule codée en url.
Il utilise le filtre image_downsize
pour écraser la récupération d'image avec:
// Generate Photon URL
$image = array(
jetpack_photon_url( $image_url, $photon_args ),
false,
false
);
où width
et height
sont définis sur false
.