WordPress:レスポンシブイメージ(srcset・sizes)を無効化する方法

WordPress:レスポンシブイメージ(srcset・sizes)を無効化する方法

WordPress 4.4から実装されたレスポンシブイメージを無効化する方法です。
この機能自体は今後ますます利用することが増えていくだろうし良いとは思いますが、場合によってはこれが原因となる不具合や最悪表示が大きく崩れるといったことが起きることもあるので、そのような時にこの方法を使うことで無効化できます。

WordPress 4.4 “Clifford”」でも紹介されていましたが、WordPress 4.4からより適切な画像サイズを表示するためにレスポンシブイメージが実装され、画像を表示する際にsrcだけでなくsrcsetsizesといった属性も出力されるようになりました。

ただ、これらがあることによって何かしらの不具合が出たり、そもそもサイトによっては必要ないのでできれば出力させたくないなんてこともあるので、そういったときは下記をfunctions.phpに記述することでこのレスポンシブイメージ機能を無効化できます。

functions.php

add_filter( 'wp_calculate_image_srcset', '__return_false' );

上記記述後にimgの属性を確認すると、srcsetsizesの記述が出力されなくなっているのを確認できます。

また、上記方法はすべてでレスポンシブイメージ機能が無効化されますが、そうではなく部分的に無効化させるというこもできます。
例えば、記事の内容(本文)を出力するthe contentでのみ無効化させたいという時は、functions.phpに下記のように記述すれば、the contentで表示される内容のみレスポンシブイメージ機能が無効化されます。

functions.php

remove_filter( 'the_content', 'wp_make_content_images_responsive' );

Close the search window,
please press close button or esc key.