web-dev-qa-db-fra.com

Pourquoi wp_get_attachment_image n'inclut pas la taille "complète" dans srcset?

J'essaie d'obtenir une image avec son attribut srcset pour toutes les tailles d'image à l'aide de wp_get_attachment_image () . Mais il semble que la taille "complète" (originale) ne soit pas listée:

<?php echo wp_get_attachment_image( $imageid, 'medium', false, $image_attributes); ?>

Donne: (j'ai exclu les attributs non pertinents)

<img src="...image-232x300.jpg"
    srcset="...image-232x300.jpg 232w,
            ...image-768x994.jpg 768w,
            ...image-791x1024.jpg 791w">

Est-ce la sortie attendue? Comment dois-je inclure full size (... image.jpg dans ce cas) dans l'attribut srcset?


J'ai remarqué que l'appel de <?php echo wp_get_attachment_image( $imageid, 'full', false, $image_attributes); ?> n'inclut pas le full size dans srcset mais l'utilise quand même si nécessaire, car il s'agit de l'attribut attribué à src. Cela semble bien fonctionner avec les navigateurs qui prennent en charge srcset (j'ai vérifié les appels réseau et seule la taille d'image requise est appelée). Mais je suis préoccupé par l’affectation de la taille complète à la variable src dans qui ne prend pas en charge la fonctionnalitésrcset.

2
Alvaro

srcset suppose que toutes les images spécifiées dans l'attribut ont le même rapport d'aspect. Comme il est peu probable que l'image originale (complète) ait un format d'image qui corresponde à la taille de l'image enregistrée, il faut s'attendre à ce qu'elle ne fasse jamais partie d'un attribut srcset.

Mise à jour à partir de commentaires: Nous avons également une restriction de max width taille de 1600 px qui peut être modifiée via le filtre max_srcset_image_width .

3
Mark Kaplun