WordPress初心者の方も、愛用者の方も、
楽しく学べるフォローサイト!

WP-Master.club ヘッダーロゴ

アップロードした画像に自動的にWidthが付いてしまい、レスポンシブ対応されない場合の対処方法

はじめに

オリジナルテーマを製作した際、投稿記事の画像の横幅がレスポンシブに反応せず、大きくはみ出してしまうという現象がありました。(下記画像参照)

画像にレスポンシブが利かない

cssで、該当するimgのwidthを100%にしているのに、

色々調べていくと、下記のような怪しい点が。。。

 

<怪しい点>

・~で囲まれた画像のコードに、自動的に、インライン属性「style=”width=〇〇”」が付く。

(インライン属性は、詳細度が!importantの次に高いため、優先されてしまう。)

img_width_with_caption

ということで、早速検索したら、対処方法が出てきましたのでご紹介します。

 

 

対処方法

下記のようなコードを、functions.phpに書き込みます。

PRESSSTOCKERさんのサイトを参考にさせていただきました。)

 

 

28行目が、出力されるコードを制御しています。

上記を記述する事で、コード内のインライン属性が自動的につく事もなくなりました。

<記述後>
img_width_with_caption_02

 

元のコードは、wp-include/media.phpと、wp-include/widgets/class-wp-widget-media-image.phpが関連しているようです。

しかし、WordPressのコアファイルは基本的にいじらないほうが良い。(参考記事:9ensanのLifeHack

なので、修正部分は「theme」フォルダ内のfunctions.phpで設定しなおした、というところです。

 

まとめ

WordPressでは、自分が必要としない機能がデフォルトで付いていることが多々あり、戸惑いがちです。

まずは自分でコードを見比べてみて、どこが原因なのかをじっくり探ります。

その上でgoogle先生にお願いすると、同じような悩みを持ち、そして解決した事例がほぼ確実に出てきます^^

このあたり、wordpressの奥が深いところ?ですね^^;