Bonnes personnes, j'ai réussi à comprendre pourquoi la page ne chargeait pas les bonnes images. Comme je l'ai mentionné dans ma question, par défaut Wordpress ne chargera que les images du srcset avec le même rapport d'aspect. Si vous souhaitez inclure des tailles d'images personnalisées avec un ratio différent, vous devez les ajouter via la fonction wp_calculate_image_srcset
.
Le problème avec cela, c'est que toutes les tailles personnalisées seront chargées dans le srcset de chaque image et le navigateur sélectionnera l'image en fonction de la largeur et du ratio les plus proches.
Deuxièmement, j'ai réalisé que l'image sur laquelle Wordpress se base pour le rapport d'aspect est la taille d'image originale plutôt que la taille personnalisée que vous chargez dans la page. Donc là où j'avais l'image en portrait avec la taille personnalisée de add_image_size('portrait-case-study-lg', 505, 757, true);
, Wordpress obtenait en réalité le ratio d'aspect du fichier original qui était de 2000px x 1500px. Comme celui-ci avait un ratio différent, les tailles d'images que j'avais créées pour les tailles en portrait étaient ignorées et c'est plutôt l'image avec le ratio d'aspect le plus proche qui était choisie.
La façon dont j'ai réglé cela a été de supprimer la fonction wp_calculate_image_srcset
qui ajoutait les tailles dans le srcset et plutôt de redimensionner les images originales dans Photoshop pour avoir le même ratio d'aspect que les images plus petites.
Par exemple, au lieu d'avoir la taille d'image personnalisée de portrait-case-study-xl
qui était utilisée pour recadrer le fichier image original, j'ai supprimé cela et au lieu de cela ai téléchargé l'image originale à cette taille.
add_image_size('portrait-case-study-xl', 1010, 1514, true);
add_image_size('portrait-case-study-lg', 505, 757, true);
Cela signifie que Wordpress sélectionne maintenant le 'portrait-case-study-lg
' sur différentes tailles d'écran car le rapport d'aspect est le même que l'original.
Il serait bon si Wordpress pouvait vous permettre de supprimer l'image originale du srcset car cela signifie maintenant que je ne peux pas automatiquement créer la bonne taille lorsque le client télécharge une image sur une page.