wordpressのメディアの挿入で生成されるimgタグにwidthやheightを入れない方法|wordpress

cssで画像をコントロールしたい場合、imgに直接記入されたwidthやheight属性は少々邪魔ですよね。
ちょっと必要に迫られて、プログラム側を改変することでそれらを挿入しないようにしてみました。

それらのタグを生成しているのは以下のファイルの以下の箇所です。

WPインストールフォルダ>wp-includes>media.php 98行目~

function image_hwstring($width, $height) {
	if ($width)
		$out .= 'width="'.intval($width).'" ';
	if ($height)
		$out .= 'height="'.intval($height).'" ';
	return $out;
}

これを空のストリングにしてやれば、単純にwidthとheightは挿入されなくなりますので、以下のように変更します。これでOKです。

function image_hwstring($width, $height) {
	$out ='';
/*	if ($width)
		$out .= 'width="'.intval($width).'" ';
	if ($height)
		$out .= 'height="'.intval($height).'" ';*/
	return $out;
}

さてメディアについてもうひとつ試したことがありました。

メディアを扱う際に日付別とかではなく、さらにパスがインストールフォルダに依存しないと便利なのに、と以前から思っていたのですが、メディアの設定画面からそれらの設定ができるんですね。

具体的にはこの辺です。

以下、ドメイン直下にWPをインストールしている場合の設定の一例です。インストールの状態や、画像を格納したいフォルダの場所、名前等は適宜読み替えてください。僕はドメイン直下にimagesというフォルダを作り、そこに保存するようにしました。

アップロードするファイルの保存場所 [ ./images ]
ファイルへの完全な URL パス [ /images ]
アップロードしたファイルを年月ベースのフォルダに整理 [オフ]

こうすることで[インストールフォルダ/images]に画像が格納され、本文中のsrcから”/images/hogehoge.png”などの形で参照できます。

アップロードするファイルの保存場所は、wpのインストールフォルダからの相対で指定するようです。直下ですので、./imagesとしました。/imagesでもいいような気がして試してみたところ、そのサーバのルートを見に行ってしまい、権限エラーになりました。/web/hogehogeのさらに上にアクセスしちゃうんですね。

ファイルへの完全なURLパスのほうは、imgタグに挿入される画像パスに使うようですので、/imagesとすれば、サイトの公開フォルダを基点として参照してくれます。

これで、WPからアップロードしまくって文中に貼りまくってても、結構移転とか楽になるんじゃないですかね。