よもやまチョモランマ

記事のimgタグに勝手につくアレコレを消したい

WordPressは気が利きすぎて、いつも何かを停止させるために調べまくっている気がする。

今回は、ディレクトリ内のいらない画像を整理しようとしたことから始まりました。

メディア設定は現在「0」にしてあるから、以前ここから生まれたものは消しても大丈夫なハズ。
functionで設定した数字以外は、テーマでは使わないから消しても大丈夫なハズ。
という判断で、ヘンな数字のリサイズ画像もバンバン消していったのですが・・・

削除したら、いろいろ表示されなくなったですよ。

「メディアを追加」で挿入した画像は、けっこうな長さのimgタグになります。
よく見ると、クラスや属性がいっぱいついています。
このサイズがじつに怪しい。

ならば、そのいらないクラスや属性をつけさせなければ画像も生まれないのではないか、と考えました。
その成果については、いささか検証期間を要するので、後日。

とりあえず、function.phpに以下のコードを書けば、imgタグはスッキリします。

//記事のimgタグによけいなもの(タイトル・aタグ・サイズ・クラス)を入れさせない
add_filter( 'image_send_to_editor', 'remove_image_attribute', 10 );
add_filter( 'post_thumbnail_html', 'remove_image_attribute', 10 );
function remove_image_attribute( $html ){
	$html = preg_replace( '/title=[\'"]([^\'"]+)[\'"]/i', '', $html );
	$html = preg_replace( '/<a href=".+">/', '', $html );
	$html = preg_replace( '/<\/a>/', '', $html );
	$html = preg_replace( '/(width|height)="\d*"\s/', '', $html );
	$html = preg_replace( '/class=[\'"]([^\'"]+)[\'"]/i', '', $html );
	return $html;
}

【参考】【WordPress】<img>タグに自動挿入される属性と<a>タグ削除&class名変更&任意タグ追加