Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

WordPress 4.4 – Régler le problème de mixed content en HTTPS sur l’attribut SRCSET

J’ai rencontré un souci avec WordPress suite à la dernière mise à jour en 4.4. Lorsqu’on consulte le site en HTTPS, les images sont cassées… Après recherche, cela est dû à la nouvelle balise SRCSET mise en place par WordPress pour gérer les images en responsives.

Mes images étaient correctement appelées en HTTPS dans <img src= »https:// »> mais un peu plus loin, l’attribut srcset contenait que des liens en HTTP.

<img src= »https://korben.info/monimage.png » srcset= »https://korben.info/monimage.png 650w… »>

Cela avait donc la fâcheuse tendance à provoquer des erreurs de contenu mixé, visible dans la console de mon navigateur.

This request has been blocked; the content must be served over HTTPS.

En grattant un peu, j’ai donc trouvé une fonction qui permet de régler le souci. Il vous suffit d’ajouter ceci dans le fichier functions.php de votre thème.

function ssl_srcset( $sources ) {
foreach ( $sources as &$source ) {
$source[‘url’] = set_url_scheme( $source[‘url’] );
}
return $sources;
}
add_filter( ‘wp_calculate_image_srcset’, ‘ssl_srcset’ );

Et voilà ! Cela utilise tout simplement l’URL de la page comme référent pour srcset. Si vous êtes en HTTPS, le contenu de srcset sera en HTTPS. Et si vous êtes en HTTP, le contenu de srcset sera en HTTP.

Apparemment, pour ceux qui ont le plugin Cloudflare installé, la fonction diffère un peu. Rassurez-vous, Cloudflare a été informé du souci et intégrera ce correctif dans la prochaine version de son plugin. Donc vous pouvez simplement attendre la mise à jour. Néanmoins, pour les plus pressés, ajoutez ceci dans votre fichier functions.php :

function cloudflare_ssl_srcset( $sources ) {

$cloudflare_protocol_rewrite = load_protocol_rewrite();

if ($cloudflare_protocol_rewrite == 1) {

foreach ( $sources as &$source ) { $source[‘url’] = set_url_scheme( $source[‘url’] );
}

return $sources;

} else {

foreach ( $sources as &$source ) { $sources;
}

return $sources;

} }
add_filter( ‘wp_calculate_image_srcset’, ‘cloudflare_ssl_srcset’ );

Source


Reprenez le contrôle : Comment supprimer vos données personnelles d’Internet avec Incogni ?

🔒Votre vie privée est-elle vraiment privée❓

😮Vous l’ignorez peut-être, mais des sociétés appelées Data Brokers collectent, agrègent et monnaient vos données personnelles sans votre consentement.

📝Votre nom, votre prénom, votre date de naissance, 📧 votre email, 🏠 votre adresse postale, et bien d’autres informations sont ainsi collectés pour être revendus à des publicitaires. Il est donc temps de reprendre le contrôle de vos informations personnelles grâce à Incogni

🛡️Incogni est un service qui se charge pour vous de contacter ces Data Brokers et d’exiger la suppression de vos données personnelles.

💥 Profitez d’une offre spéciale avec le code INCOGNI60 et ne laissez pas votre vie privée entre de mauvaises mains❗🙅‍♀️

👇🔍 CLIQUEZ ICI POUR EN SAVOIR PLUS 🔍👇

Lien partenaire

Les articles du moment