WordPress2.5.1のLightBox不具合を修正する

WordPress2.5になってから、メディアアップローダがAjaxライクなものに変更されました。しかし、この新アップローダを使って画像を貼り付けるとLightBox系スクリプトに不具合が出ます。画像のタイトルが表示されません。そこで修正方法をここに記しておきます。

この問題は、リンクタグaにtitle属性が付与されなくなったことが原因。LightBoxはaタグのtitle属性を読み込んで画像の説明に使っています。以下修正箇所。

//wp-admin\includes\media.php
function get_image_send_to_editor($id, $alt, $title, $align, $url='', $rel = false, $size='medium') {

	$html = get_image_tag($id, $alt, $title, $align, $size);

	$rel = $rel ? ' rel="attachment wp-att-'.attribute_escape($id).'"' : '';

	if ( $url )
//		$html = "<a href='".attribute_escape($url)."'$rel>$html</a>";
		$html = "<a href='".attribute_escape($url)."'$rel title='".attribute_escape($title)."')>$html</a>"; //Modified

	$html = apply_filters( 'image_send_to_editor', $html, $id, $alt, $title, $align, $url, $size );

	return $html;
}

ちなみにaタグから消えたtitle属性はimgタグに移っていました。こちらは構文的に存在OKなので書き換えていません。LightBox系スクリプトが完全動作しなくてお困りの方は試してみてください。

願わくば、次の更新で修正されていますように…。

Share