コア部分を変更するのであまり参考にしない方がいいと思います。
変更後のイメージは以下のようになります。
■バージョン:2.1.3
■変更ファイル:/wp-admin/upload-js.php
修正点その1
【変更前】116行目:
h += "<label for='link-file'><input type='radio' name='link' id='link-file' value='file' checked='checked'/> <?php echo attribute_escape(__('File')); ?></label><br />";
【変更後】file のチェックをはずして、その上に LightBox のラジオボタンを追加
h += "<label for='link-lightbox'><input type='radio' name='link' id='link-lightbox' value='lightbox' checked='checked' /> <?php echo attribute_escape(__('LightBox')); ?></label><br />";
h += "<label for='link-file'><input type='radio' name='link' id='link-file' value='file' checked='checked'/> <?php echo attribute_escape(__('File')); ?></label><br />";
修正点その2
【変更前】236行目~241行目:
if ( 'none' != link )
h += "<a href='" + ( 'file' == link ? ( this.currentImage.srcBase + this.currentImage.src ) : ( this.currentImage.page + "' rel='attachment wp-att-" + this.currentImage.ID ) ) + "' title='" + this.currentImage.title + "'>";
if ( display && 'title' != display )
h += "<img src='" + ( 'thumb' == display ? ( this.currentImage.thumbBase + this.currentImage.thumb ) : ( this.currentImage.srcBase + this.currentImage.src ) ) + "' alt='" + this.currentImage.title + "' />";
else
h += this.currentImage.title;
【変更後】LightBox を選択時、rel 属性に lightbox[post-id] を設定する処理を追加。ついでに、img タグに width、height、title 属性を設定する処理を追加
if ( 'none' != link ) {
h += "<a href='"
if ( 'file' == link )
h += this.currentImage.srcBase + this.currentImage.src;
else if ( 'page' == link )
h += this.currentImage.page + "' rel='attachment wp-att-" + this.currentImage.ID;
else if ( 'lightbox' == link )
h += this.currentImage.srcBase + this.currentImage.src + "' rel='lightbox[" + this.postID + "]";
h += "' title='" + this.currentImage.title + "'>";
}
if ( display && 'title' != display ) {
h += "<img src='";
if ( 'thumb' == display ) {
imageThumb = new Image();
imageThumb.src = this.currentImage.thumbBase + this.currentImage.thumb;
h += imageThumb.src + "' width='" + imageThumb.width + "' height='" + imageThumb.height;
} else {
imageBase = new Image();
imageBase.src = this.currentImage.srcBase + this.currentImage.src;
h += imageBase.src + "' width='" + imageBase.width + "' height='" + imageBase.height;
}
h += "' alt='" + this.currentImage.title + "' title='" + this.currentImage.title + "' />";
} else {
h += this.currentImage.title;
}
img タグの width、height、title 属性は、LightBox とは関係ないのですが、W3C XHTML1.0 valid を意識して、毎回設定しているのが面倒になったので、コア部分を変更するならと、ついでにやっておきました。
プラグインを駆使してなんとかなるものなら、コア部分を変更せずになんとかしたいものですが分からないのです。
2.0系でこのカスタマイズを行いたければ、inline-uploading.php 辺りを変更すればいいのかと思って、ソースをざっくり追ってみましたが、2.1.3 の仕組みとは大きく変わっていたので追うのが面倒になりました。2.0系をカスタマイズしたい人は、ほとんど参考にならないと思います。
トラックバック一覧
この記事にはトラックバックがついていません。