Comment désactiver les images réactives dans WP 4.4?
-
-
J'aimerais aussi le savoir - c'estjuste unbon désordre denotre site Web!I would also like to know this - its just made a right mess of our website!
- 2
- 2015-12-10
- Chris
-
J'aiessayé différentesmanières sans succèsmaisje voulais laisser la questionprincipale ouverte à denouvelles approches.Laplus drastique demestentatives a été de commenter la ligne `add_filter` dans` default-filters.php` queje croyais être responsable: `//add_filter ('the_content','wp_make_content_images_responsive');`I have tried various ways with no success but I wanted to leave the main question open to new approaches. The most drastic of my attempts was commenting out the `add_filter` line in `default-filters.php` I believed to be responsible: `//add_filter( 'the_content', 'wp_make_content_images_responsive' );`
- 0
- 2015-12-10
- brokkr
-
Au lieu de désactiver lesimages réactives,vous devez rechercher ce quimélange HTTPet HTTPS car lafonctionnalité d'images réactivesn'estpas à l'origine duproblème.Tousmes sites Web sont sous HTTPSet le `srcset`est correctement créépar WordPress.** Comment avez-vousmigré de HTTP vers HTTPS? **Instead of disable responsive images, you should look for what is mixing HTTP and HTTPS because the responsive images functionality is not the origin of the problem. All my websites are under HTTPS and the `srcset` is correctly created by WordPress. **How did you migrated from HTTP to HTTPS?**
- 1
- 2015-12-10
- cybmeta
-
Voir https://core.trac.wordpress.org/ticket/25449.See https://core.trac.wordpress.org/ticket/25449.
- 0
- 2015-12-11
- Artem Russakovskii
-
Semble assezbien éclaircimaintenant.Toutesmesexcusespour la doublepublication - leproblème racine (srcset devrait utiliser https)est également résolu dans lefil de discussion quej'ai commencé sur wordpress.org (https://wordpress.org/support/topic/responsive-images-src-url-is-https-srcset-url-is-http-no-images-shared) Pourma défense,lefil semblait assezmort après unjour ou deux quandil a été relancé.Merci àjoemcgill qui a résolu leproblème là-bas.Seems pretty wel cleared up now. Apologies for double posting - the root issue (srcset should use https) is also resolved in the thread I started over at wordpress.org (https://wordpress.org/support/topic/responsive-images-src-url-is-https-srcset-url-is-http-no-images-loaded) In my defense the thread seemed pretty dead after a day or so when it was revived. Thanks to joemcgill who resolved it over there.
- 0
- 2015-12-12
- brokkr
-
Ajoutez simplement cepluginet votreproblèmeest résolumonpote https://wordpress.org/support/view/plugin-reviews/disable-responsive-imagesJust add this plugin and your problem is solved buddy https://wordpress.org/support/view/plugin-reviews/disable-responsive-images
- 0
- 2016-02-12
- Mandeep Maan
-
Jepensais qu'ils avaient corrigé cela dans WP core récemment?I thought they fixed this in WP core recently?
- 0
- 2016-12-27
- NoBugs
-
5 réponses
- votes
-
- 2015-12-10
Voici quelques choses que vouspourriezessayerpour supprimer lapriseen charge desimages réactives dans la version 4.4:
/** * Disable responsive image support (test!) */ // Clean the up the image from wp_get_attachment_image() add_filter( 'wp_get_attachment_image_attributes', function( $attr ) { if( isset( $attr['sizes'] ) ) unset( $attr['sizes'] ); if( isset( $attr['srcset'] ) ) unset( $attr['srcset'] ); return $attr; }, PHP_INT_MAX ); // Override the calculated image sizes add_filter( 'wp_calculate_image_sizes', '__return_empty_array', PHP_INT_MAX ); // Override the calculated image sources add_filter( 'wp_calculate_image_srcset', '__return_empty_array', PHP_INT_MAX ); // Remove the reponsive stuff from the content remove_filter( 'the_content', 'wp_make_content_images_responsive' );
mais commementionnépar @cybmeta,leproblèmepeut être ailleurs.
Forcer https sur
srcset
Vouspouvezeffectuer un débogage avec lefiltre
wp_calculate_image_srcset
et mêmeessayer cette solution rapide :add_filter( 'wp_calculate_image_srcset', function( $sources ) { foreach( $sources as &$source ) { if( isset( $source['url'] ) ) $source['url'] = set_url_scheme( $source['url'], 'https' ); } return $sources; }, PHP_INT_MAX );
pour définir le schéma d'URL sur
https
. Une autre approche serait de l'avoir sans schéma//
.Consultez le Codexpour d'autres
set_url_scheme()
options:$source['url'] = set_url_scheme( $source['url'], null ); $source['url'] = set_url_scheme( $source['url'], 'relative' );
Mais vous devriezessayer de creuserplusprofondémentet trouver la causeprofonde.
Mise àjour:
Nouspourrions sortirplustôt de lafonction
wp_calculate_image_srcset()
avec:add_filter( 'wp_calculate_image_srcset_meta', '__return_empty_array' );
puisen utilisant lesfiltres
wp_calculate_image_srcset
oumax_srcset_image_width
.Égalementmis àjour selon leticket # 41895 ,pour renvoyer untableau vide au lieu defalse/null.
Here are few things you could try to remove the responsive image support in 4.4:
/** * Disable responsive image support (test!) */ // Clean the up the image from wp_get_attachment_image() add_filter( 'wp_get_attachment_image_attributes', function( $attr ) { if( isset( $attr['sizes'] ) ) unset( $attr['sizes'] ); if( isset( $attr['srcset'] ) ) unset( $attr['srcset'] ); return $attr; }, PHP_INT_MAX ); // Override the calculated image sizes add_filter( 'wp_calculate_image_sizes', '__return_empty_array', PHP_INT_MAX ); // Override the calculated image sources add_filter( 'wp_calculate_image_srcset', '__return_empty_array', PHP_INT_MAX ); // Remove the reponsive stuff from the content remove_filter( 'the_content', 'wp_make_content_images_responsive' );
but as mentioned by @cybmeta the problem may be elsewhere.
Force https on
srcset
You could do some debugging with the
wp_calculate_image_srcset
filter and even try this quick-fix:add_filter( 'wp_calculate_image_srcset', function( $sources ) { foreach( $sources as &$source ) { if( isset( $source['url'] ) ) $source['url'] = set_url_scheme( $source['url'], 'https' ); } return $sources; }, PHP_INT_MAX );
to set the url scheme to
https
. Another approach would be to have it schemeless//
.Check out the Codex for other
set_url_scheme()
options:$source['url'] = set_url_scheme( $source['url'], null ); $source['url'] = set_url_scheme( $source['url'], 'relative' );
But you should try to dig deeper and find the root cause.
Update:
We could bail out earlier from the
wp_calculate_image_srcset()
function with:add_filter( 'wp_calculate_image_srcset_meta', '__return_empty_array' );
then using the
wp_calculate_image_srcset
ormax_srcset_image_width
filters.Also updated according to ticket #41895, to return an empty array instead of false/null.
-
Justepour confirmer que les deux approchesfonctionnaient car chacunem'était destinée,la désactivation de srcset a supprimé srcset (et a donc ramené desimages ``fixes '')et laforce https a changé les URL de srcseten https.Les deux approches ont supprimé l'avertissement de contenumixte.Just to confirm that both the approaches worked as each was intended for me, the disable srcset removed srcset (and so brought back 'fixed' images) and the force https changed srcset urls to https. Both approaches removed the mixed content warning.
- 0
- 2015-12-12
- brokkr
-
La solution `add_filter ('wp_calculate_image_srcset_meta','__return_null');` atrèsbien fonctionnépourmoi.Je vous remercie!The `add_filter( 'wp_calculate_image_srcset_meta', '__return_null' );` solution worked great for me. Thank you!
- 4
- 2016-01-10
- Tim Bowen
-
Heureux de l'entendre aidé.Glad to hear it helped.
- 0
- 2017-03-08
- birgire
-
Celaprovoquera des avertissements sur un validateur: "L'attribut sizene peut être spécifié que si l'attribut srcsetest égalementprésent."This will cause warnings on a validator: "The sizes attribute may be specified only if the srcset attribute is also present."
- 0
- 2017-11-01
- Michael Rogers
-
Il semble que vous ayezfiltré srcsetmaispas l'attribut size.@MichaelRogersIt sounds like you've filtered out srcset but not the sizes attribute. @MichaelRogers
- 0
- 2017-11-01
- birgire
-
- 2015-12-16
Lafaçon laplus simpleet lapluspropre de lefaireest simplement la suivante:
add_filter( 'wp_calculate_image_srcset', '__return_false' );
Pourfaire écho à ce que laplupart des autres disent cependant,srcsetest unebonneidéeet c'est l'avenir (meilleurepratiquemaintenant),mais si vous avezbesoin d'une solution rapidepour que votre sitefonctionne,l'extrait ci-dessusfait letravail sans aucunpiratage.
source: Blog WP Core
The simplest and cleanest way to do this is simply this:
add_filter( 'wp_calculate_image_srcset', '__return_false' );
To echo what most other folks are saying though, srcset is a good idea and is the future (best practice now), but if you need a quick fix to keep your site working, the above snippet does the job without any hacking.
source: WP Core Blog
-
Utilisez simplement `__return_false` au lieu de` disable_srcset`,wp a desfonctionspour destâches simples comme ça.Just use `__return_false` instead of `disable_srcset`, wp has functions for simple tasks like that.
- 5
- 2016-03-17
- Jake
-
Et vouspouveztous les deux améliorer votre codeen ne créantpas unetoutenouvellefonctionjustepour renvoyerfalse.WordPressfournit desfonctionspour cefaire.https://codex.wordpress.org/Function_Reference/_return_falseAnd you both could improve your code by not making a whole new function just to return false. WordPress provides functions to do that. https://codex.wordpress.org/Function_Reference/_return_false
- 3
- 2016-03-18
- Jake
-
C'est labonne solution.Cettefonctionnalitéest àpeuprès aussibien pensée que wp_autop.J'utiliseThis is the right solution. This feature is about as well thought out as wp_autop. I use
- 1
- 2016-05-10
- Peter Wooster
-
@Jake sur une échelle de 1 à 10,«créer unenouvellefonctionjustepour renvoyerfalse» ajouteenviron -2ballonnements à WordPress.Le code auto-documenté quen'importe qui (pas seulement un développeur WP)peut comprendre a une certaine valeur.@Jake on a scale of 1 to 10, "creating a new function just to return false" adds about -2 bloat to WordPress. Self-documenting code that anyone (not just a WP dev) can understand is of a certain value.
- 1
- 2017-07-15
- Mahmoud Al-Qudsi
-
@ MahmoudAl-Qudsi Parce que «__return_false»est si déroutant?Cette discussion,sur unforum WordPress,concerne la désactivation d'unefonctionnalité WordPress.Iln'estpasfou d'utiliser simplement lesfonctions de retour WordPresspar défaut,trèsbasiqueset bien documentées,intégrées à WordPresspour cefaire.Lefait que lafonction s'appelle "return_false"est assez auto-documenté.Essayez de deviner ce que celafait?@MahmoudAl-Qudsi Because '__return_false' is so confusing? This discussion, on a WordPress forum, is about turning off a WordPress feature. It isn't crazy to just use the default, very basic and well documented, WordPress return functions built-in to WordPress to do that. The fact that the function is named "return_false" is pretty self-documenting. Try and guess what it does?
- 1
- 2017-07-16
- Jake
-
Celaprovoque des avertissements de validation "L'attributtaillesne peut être spécifié que si l'attribut srcsetest égalementprésent":This causes validation warnings "The sizes attribute may be specified only if the srcset attribute is also present":
- 0
- 2017-11-01
- Michael Rogers
-
- 2015-12-10
Trèsprobablement,la raisonpour laquelle les URL de vos attributs
srcset
affichentincorrectement HTTPSest que les URL detoutes lesimages sont construitesen utilisant la valeur de l'option siteurl dans votretable wp_options.Si vous diffusez votrefront-end via HTTPS,vous devez égalementmodifier ces valeurs (via Paramètres> Général).Voici leticket associé sur le système de suivi desproblèmes WordPress: https://core.trac.wordpress.org/ticket/34945
Most likely, the reason the URLs in your
srcset
attributes are incorrectly showing HTTPS is because the URLs for all images are built using the value of the siteurl option in your wp_options table. If you're serving your front end over HTTPS, you should also change those values (via Settings > General).Here's the related ticket on the WordPress issue tracking system: https://core.trac.wordpress.org/ticket/34945
-
- 2015-12-11
Cela désactivera le code srcseten éliminanttoutes lesimagesplus larges que 1pixel.
add_filter( 'max_srcset_image_width', create_function( '', 'return 1;' ) );
À longterme,vous devriezessayer de résoudre leproblème réel.Néanmoins,celafonctionne si vous avezbesoin d'une solution rapide.
This will disable the srcset code by eliminating any images wider than 1 pixel.
add_filter( 'max_srcset_image_width', create_function( '', 'return 1;' ) );
In the long run, you should try to fix the actual problem. Still, this works if you need a quick fix.
-
[`create_function ()`] (http://php.net/manual/en/function.create-function.php)[`create_function()`](http://php.net/manual/en/function.create-function.php)
- 1
- 2015-12-11
- Pieter Goosen
-
Qu'enest-il de create_function ()?J'aime aussi quemes réponsesfonctionnenten PHP 5.2.What about create_function()? I like my answers to work in PHP 5.2 too.
- 1
- 2015-12-11
- Otto
-
- 2015-12-16
Dans Paramètres/Général,assurez-vous que votre adresse WordPress (URL)et votre adresse de site (URL) sont définies sur https://votredomaine.com
Voir http://wptavern.com/how-to-fix-images-not-loading-in-wordpress-4-4- while-using-ssl
Joe McGill,qui a aidé à diriger l'effortpour obtenir desimages réactives WordPress,a également répondu dans lefil de discussion duforumet confirme la la suggestionest correcte: "Si vousexécutez HTTPS sur lefront-end,vous devraitmodifier les URL de votre domicileet de l'URL de votre site dans Paramètres> Général,ils utilisent donc le schéma HTTPS »,a-t-il déclaré.
In Settings/General make sure your WordPress Address (URL) and Site Address (URL) are set to the https://yourdomain.com
See http://wptavern.com/how-to-fix-images-not-loading-in-wordpress-4-4-while-using-ssl
Joe McGill, who helped lead the effort to get responsive images into WordPress, also responded in the forum thread and confirms Cree’s suggestion is correct, “If you’re running HTTPS on the front end, you should change the URLS for your home and site URL in Settings > General so they use the HTTPS scheme,” he said.
J'ai converti avec succèsmoninstallation 4.3.1en tous les https.Après lamise àjour vers 4.4.J'ai unproblème avec lenouvel attribut
srcset
.Alors que l'attributsrc
pour lesimagesest défini à l'aide de https,l'attributsrcset
est http.Celaempêche lesnavigateurs d'afficher aucuneimage dutout.En attendant unemeilleure solution,je souhaite désactiver complètement la configuration de l'attribut
srcset
afin quetoutes lesimagesn'aient qu'un attributsrc
.Commentfaire ça?