web-dev-qa-db-fra.com

wp_get_attachment_image_src () width et height boolean

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.

1
Christiaan

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

%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
);

width et height sont définis sur false.

4
birgire